407a9b:	8b 5d 14             	mov    0x14(%ebp),%ebx
407a9e:	8d 47 08             	lea    0x8(%edi),%eax
407aa1:	50                   	push   %eax
407aa2:	ff 15 5c 61 41 00    	call   *0x41615c
407aa8:	c3                   	ret
407aa9:	6a 14                	push   $0x14
407aab:	b8 9c 2d 41 00       	mov    $0x412d9c,%eax
407ab0:	e8 12 ab 00 00       	call   0x4125c7
407ab5:	89 55 e4             	mov    %edx,-0x1c(%ebp)
407ab8:	8b 45 08             	mov    0x8(%ebp),%eax
407abb:	85 c0                	test   %eax,%eax
407abd:	75 0a                	jne    0x407ac9
407abf:	b8 03 40 00 80       	mov    $0x80004003,%eax
407ac4:	e9 ca 00 00 00       	jmp    0x407b93
407ac9:	83 20 00             	andl   $0x0,(%eax)
407acc:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
407ad1:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
407ad5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407ad9:	6a 40                	push   $0x40
407adb:	89 7d ec             	mov    %edi,-0x14(%ebp)
407ade:	e8 c5 99 00 00       	call   0x4114a8
407ae3:	8b d8                	mov    %eax,%ebx
407ae5:	59                   	pop    %ecx
407ae6:	89 5d e0             	mov    %ebx,-0x20(%ebp)
407ae9:	85 db                	test   %ebx,%ebx
407aeb:	74 36                	je     0x407b23
407aed:	8b cb                	mov    %ebx,%ecx
407aef:	e8 cc f6 ff ff       	call   0x4071c0
407af4:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
407af8:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
407afe:	c7 03 98 17 40 00    	movl   $0x401798,(%ebx)
407b04:	c7 43 04 08 17 40 00 	movl   $0x401708,0x4(%ebx)
407b0b:	8b 07                	mov    (%edi),%eax
407b0d:	8b 70 04             	mov    0x4(%eax),%esi
407b10:	8b ce                	mov    %esi,%ecx
407b12:	ff 15 28 63 41 00    	call   *0x416328
407b18:	8b cf                	mov    %edi,%ecx
407b1a:	ff d6                	call   *%esi
407b1c:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
407b21:	eb 10                	jmp    0x407b33
407b23:	33 db                	xor    %ebx,%ebx
407b25:	eb 0c                	jmp    0x407b33
407b27:	b8 2d 7b 40 00       	mov    $0x407b2d,%eax
407b2c:	c3                   	ret
407b2d:	8b 7d ec             	mov    -0x14(%ebp),%edi
407b30:	8b 5d e8             	mov    -0x18(%ebp),%ebx
407b33:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
407b37:	85 db                	test   %ebx,%ebx
407b39:	74 56                	je     0x407b91
407b3b:	8d 4b 08             	lea    0x8(%ebx),%ecx
407b3e:	e8 86 d1 ff ff       	call   0x404cc9
407b43:	8d 4b 0c             	lea    0xc(%ebx),%ecx
407b46:	e8 f4 d0 ff ff       	call   0x404c3f
407b4b:	8b f8                	mov    %eax,%edi
407b4d:	85 ff                	test   %edi,%edi
407b4f:	78 06                	js     0x407b57
407b51:	c6 43 24 01          	movb   $0x1,0x24(%ebx)
407b55:	33 ff                	xor    %edi,%edi
407b57:	8d 4b 08             	lea    0x8(%ebx),%ecx
407b5a:	e8 7e fb ff ff       	call   0x4076dd
407b5f:	85 ff                	test   %edi,%edi
407b61:	75 1b                	jne    0x407b7e
407b63:	ff 75 08             	push   0x8(%ebp)
407b66:	8b 03                	mov    (%ebx),%eax
407b68:	ff 75 e4             	push   -0x1c(%ebp)
407b6b:	53                   	push   %ebx
407b6c:	8b 30                	mov    (%eax),%esi
407b6e:	8b ce                	mov    %esi,%ecx
407b70:	ff 15 28 63 41 00    	call   *0x416328
407b76:	ff d6                	call   *%esi
407b78:	8b f8                	mov    %eax,%edi
407b7a:	85 ff                	test   %edi,%edi
407b7c:	74 13                	je     0x407b91
407b7e:	8b 13                	mov    (%ebx),%edx
407b80:	6a 01                	push   $0x1
407b82:	8b 72 10             	mov    0x10(%edx),%esi
407b85:	8b ce                	mov    %esi,%ecx
407b87:	ff 15 28 63 41 00    	call   *0x416328
407b8d:	8b cb                	mov    %ebx,%ecx
407b8f:	ff d6                	call   *%esi
407b91:	8b c7                	mov    %edi,%eax
407b93:	e8 94 a9 00 00       	call   0x41252c
407b98:	c2 04 00             	ret    $0x4
407b9b:	6a 18                	push   $0x18
407b9d:	b8 c2 2d 41 00       	mov    $0x412dc2,%eax
407ba2:	e8 20 aa 00 00       	call   0x4125c7
407ba7:	89 55 e0             	mov    %edx,-0x20(%ebp)
407baa:	89 4d ec             	mov    %ecx,-0x14(%ebp)
407bad:	8b 75 08             	mov    0x8(%ebp),%esi
407bb0:	85 f6                	test   %esi,%esi
407bb2:	75 07                	jne    0x407bbb
407bb4:	b8 03 40 00 80       	mov    $0x80004003,%eax
407bb9:	eb 7b                	jmp    0x407c36
407bbb:	33 ff                	xor    %edi,%edi
407bbd:	bb 0e 00 07 80       	mov    $0x8007000e,%ebx
407bc2:	68 44 04 00 00       	push   $0x444
407bc7:	89 3e                	mov    %edi,(%esi)
407bc9:	89 5d e8             	mov    %ebx,-0x18(%ebp)
407bcc:	89 7d e4             	mov    %edi,-0x1c(%ebp)
407bcf:	89 7d fc             	mov    %edi,-0x4(%ebp)
407bd2:	e8 d1 98 00 00       	call   0x4114a8
407bd7:	59                   	pop    %ecx
407bd8:	89 45 dc             	mov    %eax,-0x24(%ebp)
407bdb:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
407bdf:	85 c0                	test   %eax,%eax
407be1:	74 1d                	je     0x407c00
407be3:	ff 75 ec             	push   -0x14(%ebp)
407be6:	8b c8                	mov    %eax,%ecx
407be8:	e8 c3 09 00 00       	call   0x4085b0
407bed:	8b f8                	mov    %eax,%edi
407bef:	eb 0f                	jmp    0x407c00
407bf1:	b8 f7 7b 40 00       	mov    $0x407bf7,%eax
407bf6:	c3                   	ret
407bf7:	8b 75 08             	mov    0x8(%ebp),%esi
407bfa:	8b 5d e8             	mov    -0x18(%ebp),%ebx
407bfd:	8b 7d e4             	mov    -0x1c(%ebp),%edi
407c00:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
407c04:	85 ff                	test   %edi,%edi
407c06:	74 2c                	je     0x407c34
407c08:	8b 07                	mov    (%edi),%eax
407c0a:	56                   	push   %esi
407c0b:	ff 75 e0             	push   -0x20(%ebp)
407c0e:	8b 30                	mov    (%eax),%esi
407c10:	8b ce                	mov    %esi,%ecx
407c12:	57                   	push   %edi
407c13:	ff 15 28 63 41 00    	call   *0x416328
407c19:	ff d6                	call   *%esi
407c1b:	8b d8                	mov    %eax,%ebx
407c1d:	85 db                	test   %ebx,%ebx
407c1f:	74 13                	je     0x407c34
407c21:	8b 17                	mov    (%edi),%edx
407c23:	6a 01                	push   $0x1
407c25:	8b 72 0c             	mov    0xc(%edx),%esi
407c28:	8b ce                	mov    %esi,%ecx
407c2a:	ff 15 28 63 41 00    	call   *0x416328
407c30:	8b cf                	mov    %edi,%ecx
407c32:	ff d6                	call   *%esi
407c34:	8b c3                	mov    %ebx,%eax
407c36:	e8 f1 a8 00 00       	call   0x41252c
407c3b:	c2 04 00             	ret    $0x4
407c3e:	6a 14                	push   $0x14
407c40:	b8 f0 2d 41 00       	mov    $0x412df0,%eax
407c45:	e8 7d a9 00 00       	call   0x4125c7
407c4a:	89 55 e4             	mov    %edx,-0x1c(%ebp)
407c4d:	8b 45 08             	mov    0x8(%ebp),%eax
407c50:	85 c0                	test   %eax,%eax
407c52:	75 0a                	jne    0x407c5e
407c54:	b8 03 40 00 80       	mov    $0x80004003,%eax
407c59:	e9 c2 00 00 00       	jmp    0x407d20
407c5e:	33 ff                	xor    %edi,%edi
407c60:	be 0e 00 07 80       	mov    $0x8007000e,%esi
407c65:	68 3c 04 00 00       	push   $0x43c
407c6a:	89 38                	mov    %edi,(%eax)
407c6c:	89 75 ec             	mov    %esi,-0x14(%ebp)
407c6f:	89 7d e8             	mov    %edi,-0x18(%ebp)
407c72:	89 7d fc             	mov    %edi,-0x4(%ebp)
407c75:	e8 2e 98 00 00       	call   0x4114a8
407c7a:	8b d8                	mov    %eax,%ebx
407c7c:	59                   	pop    %ecx
407c7d:	89 5d e0             	mov    %ebx,-0x20(%ebp)
407c80:	85 db                	test   %ebx,%ebx
407c82:	74 36                	je     0x407cba
407c84:	8b cb                	mov    %ebx,%ecx
407c86:	e8 fb f4 ff ff       	call   0x407186
407c8b:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
407c8f:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
407c95:	c7 03 54 17 40 00    	movl   $0x401754,(%ebx)
407c9b:	c7 43 04 c8 16 40 00 	movl   $0x4016c8,0x4(%ebx)
407ca2:	8b 07                	mov    (%edi),%eax
407ca4:	8b 70 04             	mov    0x4(%eax),%esi
407ca7:	8b ce                	mov    %esi,%ecx
407ca9:	ff 15 28 63 41 00    	call   *0x416328
407caf:	8b cf                	mov    %edi,%ecx
407cb1:	ff d6                	call   *%esi
407cb3:	be 0e 00 07 80       	mov    $0x8007000e,%esi
407cb8:	eb 10                	jmp    0x407cca
407cba:	8b df                	mov    %edi,%ebx
407cbc:	eb 0c                	jmp    0x407cca
407cbe:	b8 c4 7c 40 00       	mov    $0x407cc4,%eax
407cc3:	c3                   	ret
407cc4:	8b 75 ec             	mov    -0x14(%ebp),%esi
407cc7:	8b 5d e8             	mov    -0x18(%ebp),%ebx
407cca:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
407cce:	85 db                	test   %ebx,%ebx
407cd0:	74 4c                	je     0x407d1e
407cd2:	8b 43 08             	mov    0x8(%ebx),%eax
407cd5:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
407cda:	3b c1                	cmp    %ecx,%eax
407cdc:	74 0c                	je     0x407cea
407cde:	40                   	inc    %eax
407cdf:	89 43 08             	mov    %eax,0x8(%ebx)
407ce2:	3b c1                	cmp    %ecx,%eax
407ce4:	74 04                	je     0x407cea
407ce6:	48                   	dec    %eax
407ce7:	89 43 08             	mov    %eax,0x8(%ebx)
407cea:	ff 75 08             	push   0x8(%ebp)
407ced:	8b 03                	mov    (%ebx),%eax
407cef:	ff 75 e4             	push   -0x1c(%ebp)
407cf2:	53                   	push   %ebx
407cf3:	8b 30                	mov    (%eax),%esi
407cf5:	8b ce                	mov    %esi,%ecx
407cf7:	ff 15 28 63 41 00    	call   *0x416328
407cfd:	ff d6                	call   *%esi
407cff:	8b f0                	mov    %eax,%esi
407d01:	89 75 e4             	mov    %esi,-0x1c(%ebp)
407d04:	85 f6                	test   %esi,%esi
407d06:	74 16                	je     0x407d1e
407d08:	8b 13                	mov    (%ebx),%edx
407d0a:	6a 01                	push   $0x1
407d0c:	8b 72 10             	mov    0x10(%edx),%esi
407d0f:	8b ce                	mov    %esi,%ecx
407d11:	ff 15 28 63 41 00    	call   *0x416328
407d17:	8b cb                	mov    %ebx,%ecx
407d19:	ff d6                	call   *%esi
407d1b:	8b 75 e4             	mov    -0x1c(%ebp),%esi
407d1e:	8b c6                	mov    %esi,%eax
407d20:	e8 07 a8 00 00       	call   0x41252c
407d25:	c2 04 00             	ret    $0x4
407d28:	6a 14                	push   $0x14
407d2a:	b8 16 2e 41 00       	mov    $0x412e16,%eax
407d2f:	e8 93 a8 00 00       	call   0x4125c7
407d34:	89 55 e4             	mov    %edx,-0x1c(%ebp)
407d37:	8b d9                	mov    %ecx,%ebx
407d39:	8b 75 08             	mov    0x8(%ebp),%esi
407d3c:	85 f6                	test   %esi,%esi
407d3e:	75 0a                	jne    0x407d4a
407d40:	b8 03 40 00 80       	mov    $0x80004003,%eax
407d45:	e9 97 00 00 00       	jmp    0x407de1
407d4a:	83 26 00             	andl   $0x0,(%esi)
407d4d:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
407d52:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
407d56:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407d5a:	6a 34                	push   $0x34
407d5c:	89 7d ec             	mov    %edi,-0x14(%ebp)
407d5f:	e8 44 97 00 00       	call   0x4114a8
407d64:	59                   	pop    %ecx
407d65:	89 45 e0             	mov    %eax,-0x20(%ebp)
407d68:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
407d6c:	85 c0                	test   %eax,%eax
407d6e:	74 0c                	je     0x407d7c
407d70:	53                   	push   %ebx
407d71:	8b c8                	mov    %eax,%ecx
407d73:	e8 23 0b 00 00       	call   0x40889b
407d78:	8b d8                	mov    %eax,%ebx
407d7a:	eb 13                	jmp    0x407d8f
407d7c:	33 db                	xor    %ebx,%ebx
407d7e:	eb 0f                	jmp    0x407d8f
407d80:	b8 86 7d 40 00       	mov    $0x407d86,%eax
407d85:	c3                   	ret
407d86:	8b 75 08             	mov    0x8(%ebp),%esi
407d89:	8b 7d ec             	mov    -0x14(%ebp),%edi
407d8c:	8b 5d e8             	mov    -0x18(%ebp),%ebx
407d8f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
407d93:	85 db                	test   %ebx,%ebx
407d95:	74 48                	je     0x407ddf
407d97:	8d 4b 18             	lea    0x18(%ebx),%ecx
407d9a:	e8 a0 ce ff ff       	call   0x404c3f
407d9f:	8b f8                	mov    %eax,%edi
407da1:	85 ff                	test   %edi,%edi
407da3:	78 0c                	js     0x407db1
407da5:	33 ff                	xor    %edi,%edi
407da7:	c6 43 30 01          	movb   $0x1,0x30(%ebx)
407dab:	85 ff                	test   %edi,%edi
407dad:	78 02                	js     0x407db1
407daf:	85 ff                	test   %edi,%edi
407db1:	75 19                	jne    0x407dcc
407db3:	8b 03                	mov    (%ebx),%eax
407db5:	56                   	push   %esi
407db6:	ff 75 e4             	push   -0x1c(%ebp)
407db9:	8b 30                	mov    (%eax),%esi
407dbb:	8b ce                	mov    %esi,%ecx
407dbd:	53                   	push   %ebx
407dbe:	ff 15 28 63 41 00    	call   *0x416328
407dc4:	ff d6                	call   *%esi
407dc6:	8b f8                	mov    %eax,%edi
407dc8:	85 ff                	test   %edi,%edi
407dca:	74 13                	je     0x407ddf
407dcc:	8b 13                	mov    (%ebx),%edx
407dce:	6a 01                	push   $0x1
407dd0:	8b 72 0c             	mov    0xc(%edx),%esi
407dd3:	8b ce                	mov    %esi,%ecx
407dd5:	ff 15 28 63 41 00    	call   *0x416328
407ddb:	8b cb                	mov    %ebx,%ecx
407ddd:	ff d6                	call   *%esi
407ddf:	8b c7                	mov    %edi,%eax
407de1:	e8 46 a7 00 00       	call   0x41252c
407de6:	c2 04 00             	ret    $0x4
407de9:	6a 14                	push   $0x14
407deb:	b8 44 2e 41 00       	mov    $0x412e44,%eax
407df0:	e8 d2 a7 00 00       	call   0x4125c7
407df5:	89 55 e4             	mov    %edx,-0x1c(%ebp)
407df8:	8b 4d 08             	mov    0x8(%ebp),%ecx
407dfb:	85 c9                	test   %ecx,%ecx
407dfd:	75 0a                	jne    0x407e09
407dff:	b8 03 40 00 80       	mov    $0x80004003,%eax
407e04:	e9 d3 00 00 00       	jmp    0x407edc
407e09:	33 c0                	xor    %eax,%eax
407e0b:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
407e10:	6a 28                	push   $0x28
407e12:	89 01                	mov    %eax,(%ecx)
407e14:	89 7d ec             	mov    %edi,-0x14(%ebp)
407e17:	89 45 e8             	mov    %eax,-0x18(%ebp)
407e1a:	89 45 fc             	mov    %eax,-0x4(%ebp)
407e1d:	e8 86 96 00 00       	call   0x4114a8
407e22:	8b d8                	mov    %eax,%ebx
407e24:	59                   	pop    %ecx
407e25:	89 5d e0             	mov    %ebx,-0x20(%ebp)
407e28:	85 db                	test   %ebx,%ebx
407e2a:	74 40                	je     0x407e6c
407e2c:	83 63 08 00          	andl   $0x0,0x8(%ebx)
407e30:	8d 7b 0c             	lea    0xc(%ebx),%edi
407e33:	6a 06                	push   $0x6
407e35:	33 c0                	xor    %eax,%eax
407e37:	59                   	pop    %ecx
407e38:	f3 ab                	rep stos %eax,%es:(%edi)
407e3a:	88 43 24             	mov    %al,0x24(%ebx)
407e3d:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
407e41:	8b 3d a4 55 41 00    	mov    0x4155a4,%edi
407e47:	c7 03 04 16 40 00    	movl   $0x401604,(%ebx)
407e4d:	c7 43 04 88 16 40 00 	movl   $0x401688,0x4(%ebx)
407e54:	8b 07                	mov    (%edi),%eax
407e56:	8b 70 04             	mov    0x4(%eax),%esi
407e59:	8b ce                	mov    %esi,%ecx
407e5b:	ff 15 28 63 41 00    	call   *0x416328
407e61:	8b cf                	mov    %edi,%ecx
407e63:	ff d6                	call   *%esi
407e65:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
407e6a:	eb 10                	jmp    0x407e7c
407e6c:	33 db                	xor    %ebx,%ebx
407e6e:	eb 0c                	jmp    0x407e7c
407e70:	b8 76 7e 40 00       	mov    $0x407e76,%eax
407e75:	c3                   	ret
407e76:	8b 7d ec             	mov    -0x14(%ebp),%edi
407e79:	8b 5d e8             	mov    -0x18(%ebp),%ebx
407e7c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
407e80:	85 db                	test   %ebx,%ebx
407e82:	74 56                	je     0x407eda
407e84:	8d 4b 08             	lea    0x8(%ebx),%ecx
407e87:	e8 3d ce ff ff       	call   0x404cc9
407e8c:	8d 4b 0c             	lea    0xc(%ebx),%ecx
407e8f:	e8 ab cd ff ff       	call   0x404c3f
407e94:	8b f8                	mov    %eax,%edi
407e96:	85 ff                	test   %edi,%edi
407e98:	78 06                	js     0x407ea0
407e9a:	c6 43 24 01          	movb   $0x1,0x24(%ebx)
407e9e:	33 ff                	xor    %edi,%edi
407ea0:	8d 4b 08             	lea    0x8(%ebx),%ecx
407ea3:	e8 35 f8 ff ff       	call   0x4076dd
407ea8:	85 ff                	test   %edi,%edi
407eaa:	75 1b                	jne    0x407ec7