4079da:	0f 84 fc 00 00 00    	je     0x407adc
4079e0:	6a 01                	push   $0x1
4079e2:	57                   	push   %edi
4079e3:	e8 32 79 00 00       	call   0x40f31a
4079e8:	59                   	pop    %ecx
4079e9:	59                   	pop    %ecx
4079ea:	85 c0                	test   %eax,%eax
4079ec:	0f 84 ea 00 00 00    	je     0x407adc
4079f2:	8b 4e 18             	mov    0x18(%esi),%ecx
4079f5:	89 0f                	mov    %ecx,(%edi)
4079f7:	8b 45 14             	mov    0x14(%ebp),%eax
4079fa:	83 c0 08             	add    $0x8,%eax
4079fd:	50                   	push   %eax
4079fe:	51                   	push   %ecx
4079ff:	e8 c4 fe ff ff       	call   0x4078c8
407a04:	59                   	pop    %ecx
407a05:	59                   	pop    %ecx
407a06:	89 07                	mov    %eax,(%edi)
407a08:	e9 d4 00 00 00       	jmp    0x407ae1
407a0d:	8b 75 14             	mov    0x14(%ebp),%esi
407a10:	8b 45 08             	mov    0x8(%ebp),%eax
407a13:	ff 70 18             	push   0x18(%eax)
407a16:	f6 06 01             	testb  $0x1,(%esi)
407a19:	74 4e                	je     0x407a69
407a1b:	e8 fa 78 00 00       	call   0x40f31a
407a20:	59                   	pop    %ecx
407a21:	59                   	pop    %ecx
407a22:	85 c0                	test   %eax,%eax
407a24:	0f 84 b2 00 00 00    	je     0x407adc
407a2a:	6a 01                	push   $0x1
407a2c:	57                   	push   %edi
407a2d:	e8 e8 78 00 00       	call   0x40f31a
407a32:	59                   	pop    %ecx
407a33:	59                   	pop    %ecx
407a34:	85 c0                	test   %eax,%eax
407a36:	0f 84 a0 00 00 00    	je     0x407adc
407a3c:	ff 76 14             	push   0x14(%esi)
407a3f:	8b 45 08             	mov    0x8(%ebp),%eax
407a42:	ff 70 18             	push   0x18(%eax)
407a45:	57                   	push   %edi
407a46:	e8 05 cd ff ff       	call   0x404750
407a4b:	83 c4 0c             	add    $0xc,%esp
407a4e:	83 7e 14 04          	cmpl   $0x4,0x14(%esi)
407a52:	0f 85 89 00 00 00    	jne    0x407ae1
407a58:	83 3f 00             	cmpl   $0x0,(%edi)
407a5b:	0f 84 80 00 00 00    	je     0x407ae1
407a61:	8d 46 08             	lea    0x8(%esi),%eax
407a64:	50                   	push   %eax
407a65:	ff 37                	push   (%edi)
407a67:	eb 96                	jmp    0x4079ff
407a69:	39 5e 18             	cmp    %ebx,0x18(%esi)
407a6c:	75 39                	jne    0x407aa7
407a6e:	e8 a7 78 00 00       	call   0x40f31a
407a73:	59                   	pop    %ecx
407a74:	59                   	pop    %ecx
407a75:	85 c0                	test   %eax,%eax
407a77:	74 63                	je     0x407adc
407a79:	6a 01                	push   $0x1
407a7b:	57                   	push   %edi
407a7c:	e8 99 78 00 00       	call   0x40f31a
407a81:	59                   	pop    %ecx
407a82:	59                   	pop    %ecx
407a83:	85 c0                	test   %eax,%eax
407a85:	74 55                	je     0x407adc
407a87:	ff 76 14             	push   0x14(%esi)
407a8a:	8d 46 08             	lea    0x8(%esi),%eax
407a8d:	50                   	push   %eax
407a8e:	8b 45 08             	mov    0x8(%ebp),%eax
407a91:	ff 70 18             	push   0x18(%eax)
407a94:	e8 2f fe ff ff       	call   0x4078c8
407a99:	59                   	pop    %ecx
407a9a:	59                   	pop    %ecx
407a9b:	50                   	push   %eax
407a9c:	57                   	push   %edi
407a9d:	e8 ae cc ff ff       	call   0x404750
407aa2:	83 c4 0c             	add    $0xc,%esp
407aa5:	eb 3a                	jmp    0x407ae1
407aa7:	e8 6e 78 00 00       	call   0x40f31a
407aac:	59                   	pop    %ecx
407aad:	59                   	pop    %ecx
407aae:	85 c0                	test   %eax,%eax
407ab0:	74 2a                	je     0x407adc
407ab2:	6a 01                	push   $0x1
407ab4:	57                   	push   %edi
407ab5:	e8 60 78 00 00       	call   0x40f31a
407aba:	59                   	pop    %ecx
407abb:	59                   	pop    %ecx
407abc:	85 c0                	test   %eax,%eax
407abe:	74 1c                	je     0x407adc
407ac0:	ff 76 18             	push   0x18(%esi)
407ac3:	e8 52 78 00 00       	call   0x40f31a
407ac8:	59                   	pop    %ecx
407ac9:	85 c0                	test   %eax,%eax
407acb:	74 0f                	je     0x407adc
407acd:	f6 06 04             	testb  $0x4,(%esi)
407ad0:	6a 00                	push   $0x0
407ad2:	5b                   	pop    %ebx
407ad3:	0f 95 c3             	setne  %bl
407ad6:	43                   	inc    %ebx
407ad7:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
407ada:	eb 05                	jmp    0x407ae1
407adc:	e8 2b 63 00 00       	call   0x40de0c
407ae1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
407ae8:	8b c3                	mov    %ebx,%eax
407aea:	eb 0e                	jmp    0x407afa
407aec:	33 c0                	xor    %eax,%eax
407aee:	40                   	inc    %eax
407aef:	c3                   	ret
407af0:	8b 65 e8             	mov    -0x18(%ebp),%esp
407af3:	e8 4c 63 00 00       	call   0x40de44
407af8:	33 c0                	xor    %eax,%eax
407afa:	e8 f6 32 00 00       	call   0x40adf5
407aff:	c3                   	ret
407b00:	55                   	push   %ebp
407b01:	8b ec                	mov    %esp,%ebp
407b03:	8b 45 08             	mov    0x8(%ebp),%eax
407b06:	8b 00                	mov    (%eax),%eax
407b08:	81 38 52 43 43 e0    	cmpl   $0xe0434352,(%eax)
407b0e:	74 21                	je     0x407b31
407b10:	81 38 4d 4f 43 e0    	cmpl   $0xe0434f4d,(%eax)
407b16:	74 19                	je     0x407b31
407b18:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
407b1e:	75 2a                	jne    0x407b4a
407b20:	e8 b1 48 00 00       	call   0x40c3d6
407b25:	83 a0 90 00 00 00 00 	andl   $0x0,0x90(%eax)
407b2c:	e9 13 63 00 00       	jmp    0x40de44
407b31:	e8 a0 48 00 00       	call   0x40c3d6
407b36:	83 b8 90 00 00 00 00 	cmpl   $0x0,0x90(%eax)
407b3d:	7e 0b                	jle    0x407b4a
407b3f:	e8 92 48 00 00       	call   0x40c3d6
407b44:	ff 88 90 00 00 00    	decl   0x90(%eax)
407b4a:	33 c0                	xor    %eax,%eax
407b4c:	5d                   	pop    %ebp
407b4d:	c3                   	ret
407b4e:	6a 10                	push   $0x10
407b50:	68 30 e3 41 00       	push   $0x41e330
407b55:	e8 56 32 00 00       	call   0x40adb0
407b5a:	8b 45 10             	mov    0x10(%ebp),%eax
407b5d:	81 78 04 80 00 00 00 	cmpl   $0x80,0x4(%eax)
407b64:	8b 45 08             	mov    0x8(%ebp),%eax
407b67:	7f 06                	jg     0x407b6f
407b69:	0f be 70 08          	movsbl 0x8(%eax),%esi
407b6d:	eb 03                	jmp    0x407b72
407b6f:	8b 70 08             	mov    0x8(%eax),%esi
407b72:	89 75 e4             	mov    %esi,-0x1c(%ebp)
407b75:	e8 5c 48 00 00       	call   0x40c3d6
407b7a:	ff 80 90 00 00 00    	incl   0x90(%eax)
407b80:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407b84:	3b 75 14             	cmp    0x14(%ebp),%esi
407b87:	74 5f                	je     0x407be8
407b89:	83 fe ff             	cmp    $0xffffffff,%esi
407b8c:	7e 08                	jle    0x407b96
407b8e:	8b 45 10             	mov    0x10(%ebp),%eax
407b91:	3b 70 04             	cmp    0x4(%eax),%esi
407b94:	7c 05                	jl     0x407b9b
407b96:	e8 71 62 00 00       	call   0x40de0c
407b9b:	8b 4d 10             	mov    0x10(%ebp),%ecx
407b9e:	8b 41 08             	mov    0x8(%ecx),%eax
407ba1:	8b 14 f0             	mov    (%eax,%esi,8),%edx
407ba4:	89 55 e0             	mov    %edx,-0x20(%ebp)
407ba7:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
407bae:	83 7c f0 04 00       	cmpl   $0x0,0x4(%eax,%esi,8)
407bb3:	74 27                	je     0x407bdc
407bb5:	8b 45 08             	mov    0x8(%ebp),%eax
407bb8:	89 50 08             	mov    %edx,0x8(%eax)
407bbb:	68 03 01 00 00       	push   $0x103
407bc0:	50                   	push   %eax
407bc1:	8b 41 08             	mov    0x8(%ecx),%eax
407bc4:	ff 74 f0 04          	push   0x4(%eax,%esi,8)
407bc8:	e8 f3 61 00 00       	call   0x40ddc0
407bcd:	eb 0d                	jmp    0x407bdc
407bcf:	ff 75 ec             	push   -0x14(%ebp)
407bd2:	e8 29 ff ff ff       	call   0x407b00
407bd7:	59                   	pop    %ecx
407bd8:	c3                   	ret
407bd9:	8b 65 e8             	mov    -0x18(%ebp),%esp
407bdc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407be0:	8b 75 e0             	mov    -0x20(%ebp),%esi
407be3:	89 75 e4             	mov    %esi,-0x1c(%ebp)
407be6:	eb 9c                	jmp    0x407b84
407be8:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
407bef:	e8 19 00 00 00       	call   0x407c0d
407bf4:	3b 75 14             	cmp    0x14(%ebp),%esi
407bf7:	74 05                	je     0x407bfe
407bf9:	e8 0e 62 00 00       	call   0x40de0c
407bfe:	8b 45 08             	mov    0x8(%ebp),%eax
407c01:	89 70 08             	mov    %esi,0x8(%eax)
407c04:	e8 ec 31 00 00       	call   0x40adf5
407c09:	c3                   	ret
407c0a:	8b 75 e4             	mov    -0x1c(%ebp),%esi
407c0d:	e8 c4 47 00 00       	call   0x40c3d6
407c12:	83 b8 90 00 00 00 00 	cmpl   $0x0,0x90(%eax)
407c19:	7e 0b                	jle    0x407c26
407c1b:	e8 b6 47 00 00       	call   0x40c3d6
407c20:	ff 88 90 00 00 00    	decl   0x90(%eax)
407c26:	c3                   	ret
407c27:	55                   	push   %ebp
407c28:	8b ec                	mov    %esp,%ebp
407c2a:	53                   	push   %ebx
407c2b:	56                   	push   %esi
407c2c:	57                   	push   %edi
407c2d:	e8 a4 47 00 00       	call   0x40c3d6
407c32:	8b 4d 18             	mov    0x18(%ebp),%ecx
407c35:	8b 55 08             	mov    0x8(%ebp),%edx
407c38:	33 f6                	xor    %esi,%esi
407c3a:	bb 63 73 6d e0       	mov    $0xe06d7363,%ebx
407c3f:	bf 22 05 93 19       	mov    $0x19930522,%edi
407c44:	39 b0 ac 03 00 00    	cmp    %esi,0x3ac(%eax)
407c4a:	75 21                	jne    0x407c6d
407c4c:	39 1a                	cmp    %ebx,(%edx)
407c4e:	74 1d                	je     0x407c6d
407c50:	81 3a 26 00 00 80    	cmpl   $0x80000026,(%edx)
407c56:	74 15                	je     0x407c6d
407c58:	8b 01                	mov    (%ecx),%eax
407c5a:	25 ff ff ff 1f       	and    $0x1fffffff,%eax
407c5f:	3b c7                	cmp    %edi,%eax
407c61:	72 0a                	jb     0x407c6d
407c63:	f6 41 20 01          	testb  $0x1,0x20(%ecx)
407c67:	0f 85 91 00 00 00    	jne    0x407cfe
407c6d:	f6 42 04 66          	testb  $0x66,0x4(%edx)
407c71:	74 21                	je     0x407c94
407c73:	39 71 04             	cmp    %esi,0x4(%ecx)
407c76:	0f 84 82 00 00 00    	je     0x407cfe
407c7c:	39 75 1c             	cmp    %esi,0x1c(%ebp)
407c7f:	75 7d                	jne    0x407cfe
407c81:	6a ff                	push   $0xffffffff
407c83:	51                   	push   %ecx
407c84:	ff 75 14             	push   0x14(%ebp)
407c87:	ff 75 0c             	push   0xc(%ebp)
407c8a:	e8 bf fe ff ff       	call   0x407b4e
407c8f:	83 c4 10             	add    $0x10,%esp
407c92:	eb 6a                	jmp    0x407cfe
407c94:	39 71 0c             	cmp    %esi,0xc(%ecx)
407c97:	75 13                	jne    0x407cac
407c99:	8b 01                	mov    (%ecx),%eax
407c9b:	25 ff ff ff 1f       	and    $0x1fffffff,%eax
407ca0:	3d 21 05 93 19       	cmp    $0x19930521,%eax
407ca5:	72 57                	jb     0x407cfe
407ca7:	39 71 1c             	cmp    %esi,0x1c(%ecx)
407caa:	74 52                	je     0x407cfe
407cac:	39 1a                	cmp    %ebx,(%edx)
407cae:	75 32                	jne    0x407ce2
407cb0:	83 7a 10 03          	cmpl   $0x3,0x10(%edx)
407cb4:	72 2c                	jb     0x407ce2
407cb6:	39 7a 14             	cmp    %edi,0x14(%edx)
407cb9:	76 27                	jbe    0x407ce2
407cbb:	8b 42 1c             	mov    0x1c(%edx),%eax
407cbe:	8b 70 08             	mov    0x8(%eax),%esi
407cc1:	85 f6                	test   %esi,%esi
407cc3:	74 1d                	je     0x407ce2
407cc5:	0f b6 45 24          	movzbl 0x24(%ebp),%eax
407cc9:	50                   	push   %eax
407cca:	ff 75 20             	push   0x20(%ebp)
407ccd:	ff 75 1c             	push   0x1c(%ebp)
407cd0:	51                   	push   %ecx
407cd1:	ff 75 14             	push   0x14(%ebp)
407cd4:	ff 75 10             	push   0x10(%ebp)
407cd7:	ff 75 0c             	push   0xc(%ebp)
407cda:	52                   	push   %edx
407cdb:	ff d6                	call   *%esi
407cdd:	83 c4 20             	add    $0x20,%esp
407ce0:	eb 1f                	jmp    0x407d01
407ce2:	ff 75 20             	push   0x20(%ebp)
407ce5:	ff 75 1c             	push   0x1c(%ebp)
407ce8:	ff 75 24             	push   0x24(%ebp)
407ceb:	51                   	push   %ecx
407cec:	ff 75 14             	push   0x14(%ebp)
407cef:	ff 75 10             	push   0x10(%ebp)
407cf2:	ff 75 0c             	push   0xc(%ebp)
407cf5:	52                   	push   %edx
407cf6:	e8 81 f6 ff ff       	call   0x40737c
407cfb:	83 c4 20             	add    $0x20,%esp
407cfe:	33 c0                	xor    %eax,%eax
407d00:	40                   	inc    %eax
407d01:	5f                   	pop    %edi
407d02:	5e                   	pop    %esi
407d03:	5b                   	pop    %ebx
407d04:	5d                   	pop    %ebp
407d05:	c3                   	ret
407d06:	55                   	push   %ebp
407d07:	8b ec                	mov    %esp,%ebp
407d09:	56                   	push   %esi
407d0a:	8b 75 08             	mov    0x8(%ebp),%esi
407d0d:	57                   	push   %edi
407d0e:	8b 46 04             	mov    0x4(%esi),%eax
407d11:	85 c0                	test   %eax,%eax
407d13:	74 47                	je     0x407d5c
407d15:	8d 48 08             	lea    0x8(%eax),%ecx
407d18:	80 39 00             	cmpb   $0x0,(%ecx)
407d1b:	74 3f                	je     0x407d5c
407d1d:	8b 7d 0c             	mov    0xc(%ebp),%edi
407d20:	8b 57 04             	mov    0x4(%edi),%edx
407d23:	3b c2                	cmp    %edx,%eax
407d25:	74 14                	je     0x407d3b
407d27:	8d 42 08             	lea    0x8(%edx),%eax
407d2a:	50                   	push   %eax
407d2b:	51                   	push   %ecx
407d2c:	e8 6f 0e 00 00       	call   0x408ba0
407d31:	59                   	pop    %ecx
407d32:	59                   	pop    %ecx
407d33:	85 c0                	test   %eax,%eax
407d35:	74 04                	je     0x407d3b
407d37:	33 c0                	xor    %eax,%eax
407d39:	eb 24                	jmp    0x407d5f
407d3b:	f6 07 02             	testb  $0x2,(%edi)
407d3e:	74 05                	je     0x407d45
407d40:	f6 06 08             	testb  $0x8,(%esi)
407d43:	74 f2                	je     0x407d37
407d45:	8b 45 10             	mov    0x10(%ebp),%eax
407d48:	f6 00 01             	testb  $0x1,(%eax)
407d4b:	74 05                	je     0x407d52
407d4d:	f6 06 01             	testb  $0x1,(%esi)
407d50:	74 e5                	je     0x407d37
407d52:	f6 00 02             	testb  $0x2,(%eax)
407d55:	74 05                	je     0x407d5c
407d57:	f6 06 02             	testb  $0x2,(%esi)
407d5a:	74 db                	je     0x407d37
407d5c:	33 c0                	xor    %eax,%eax
407d5e:	40                   	inc    %eax
407d5f:	5f                   	pop    %edi
407d60:	5e                   	pop    %esi
407d61:	5d                   	pop    %ebp
407d62:	c3                   	ret
407d63:	e8 6e 46 00 00       	call   0x40c3d6
407d68:	8b d0                	mov    %eax,%edx
407d6a:	8b 42 6c             	mov    0x6c(%edx),%eax
407d6d:	3b 05 44 0f 42 00    	cmp    0x420f44,%eax
407d73:	74 10                	je     0x407d85
407d75:	8b 0d 0c 10 42 00    	mov    0x42100c,%ecx
407d7b:	85 4a 70             	test   %ecx,0x70(%edx)
407d7e:	75 05                	jne    0x407d85
407d80:	e8 a1 3c 00 00       	call   0x40ba26
407d85:	8b 40 04             	mov    0x4(%eax),%eax
407d88:	c3                   	ret
407d89:	e8 48 46 00 00       	call   0x40c3d6
407d8e:	8b d0                	mov    %eax,%edx
407d90:	8b 42 6c             	mov    0x6c(%edx),%eax
407d93:	3b 05 44 0f 42 00    	cmp    0x420f44,%eax
407d99:	74 10                	je     0x407dab
407d9b:	8b 0d 0c 10 42 00    	mov    0x42100c,%ecx
407da1:	85 4a 70             	test   %ecx,0x70(%edx)
407da4:	75 05                	jne    0x407dab
407da6:	e8 7b 3c 00 00       	call   0x40ba26
407dab:	05 a0 00 00 00       	add    $0xa0,%eax
407db0:	c3                   	ret
407db1:	55                   	push   %ebp
407db2:	8b ec                	mov    %esp,%ebp
407db4:	83 ec 44             	sub    $0x44,%esp
407db7:	a1 90 08 42 00       	mov    0x420890,%eax
407dbc:	33 c5                	xor    %ebp,%eax