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
407eac:	ff 75 08             	push   0x8(%ebp)
407eaf:	8b 03                	mov    (%ebx),%eax
407eb1:	ff 75 e4             	push   -0x1c(%ebp)
407eb4:	53                   	push   %ebx
407eb5:	8b 30                	mov    (%eax),%esi
407eb7:	8b ce                	mov    %esi,%ecx
407eb9:	ff 15 28 63 41 00    	call   *0x416328
407ebf:	ff d6                	call   *%esi
407ec1:	8b f8                	mov    %eax,%edi
407ec3:	85 ff                	test   %edi,%edi
407ec5:	74 13                	je     0x407eda
407ec7:	8b 13                	mov    (%ebx),%edx
407ec9:	6a 01                	push   $0x1
407ecb:	8b 72 24             	mov    0x24(%edx),%esi
407ece:	8b ce                	mov    %esi,%ecx
407ed0:	ff 15 28 63 41 00    	call   *0x416328
407ed6:	8b cb                	mov    %ebx,%ecx
407ed8:	ff d6                	call   *%esi
407eda:	8b c7                	mov    %edi,%eax
407edc:	e8 4b a6 00 00       	call   0x41252c
407ee1:	c2 04 00             	ret    $0x4
407ee4:	cc                   	int3
407ee5:	cc                   	int3
407ee6:	cc                   	int3
407ee7:	cc                   	int3
407ee8:	cc                   	int3
407ee9:	cc                   	int3
407eea:	cc                   	int3
407eeb:	cc                   	int3
407eec:	cc                   	int3
407eed:	cc                   	int3
407eee:	cc                   	int3
407eef:	cc                   	int3
407ef0:	8b ff                	mov    %edi,%edi
407ef2:	55                   	push   %ebp
407ef3:	8b ec                	mov    %esp,%ebp
407ef5:	56                   	push   %esi
407ef6:	8b 75 08             	mov    0x8(%ebp),%esi
407ef9:	57                   	push   %edi
407efa:	8d 4e 04             	lea    0x4(%esi),%ecx
407efd:	e8 db f7 ff ff       	call   0x4076dd
407f02:	8b f8                	mov    %eax,%edi
407f04:	85 ff                	test   %edi,%edi
407f06:	75 1f                	jne    0x407f27
407f08:	85 f6                	test   %esi,%esi
407f0a:	74 1b                	je     0x407f27
407f0c:	c7 01 01 00 00 c0    	movl   $0xc0000001,(%ecx)
407f12:	8b ce                	mov    %esi,%ecx
407f14:	c7 06 c0 15 40 00    	movl   $0x4015c0,(%esi)
407f1a:	e8 34 eb ff ff       	call   0x406a53
407f1f:	56                   	push   %esi
407f20:	ff 15 d0 62 41 00    	call   *0x4162d0
407f26:	59                   	pop    %ecx
407f27:	8b c7                	mov    %edi,%eax
407f29:	5f                   	pop    %edi
407f2a:	5e                   	pop    %esi
407f2b:	5d                   	pop    %ebp
407f2c:	c2 04 00             	ret    $0x4
407f2f:	ff 31                	push   (%ecx)
407f31:	ff 15 bc 62 41 00    	call   *0x4162bc
407f37:	59                   	pop    %ecx
407f38:	c3                   	ret
407f39:	8b ff                	mov    %edi,%edi
407f3b:	56                   	push   %esi
407f3c:	8b f1                	mov    %ecx,%esi
407f3e:	c7 06 d4 15 40 00    	movl   $0x4015d4,(%esi)
407f44:	c7 46 04 d4 18 40 00 	movl   $0x4018d4,0x4(%esi)
407f4b:	c7 46 08 01 00 00 c0 	movl   $0xc0000001,0x8(%esi)
407f52:	e8 b0 f2 ff ff       	call   0x407207
407f57:	56                   	push   %esi
407f58:	ff 15 d0 62 41 00    	call   *0x4162d0
407f5e:	59                   	pop    %ecx
407f5f:	8b c6                	mov    %esi,%eax
407f61:	5e                   	pop    %esi
407f62:	c2 04 00             	ret    $0x4
407f65:	cc                   	int3
407f66:	cc                   	int3
407f67:	cc                   	int3
407f68:	cc                   	int3
407f69:	cc                   	int3
407f6a:	cc                   	int3
407f6b:	cc                   	int3
407f6c:	cc                   	int3
407f6d:	cc                   	int3
407f6e:	cc                   	int3
407f6f:	cc                   	int3
407f70:	8b ff                	mov    %edi,%edi
407f72:	55                   	push   %ebp
407f73:	8b ec                	mov    %esp,%ebp
407f75:	8b 45 08             	mov    0x8(%ebp),%eax
407f78:	56                   	push   %esi
407f79:	ff 75 10             	push   0x10(%ebp)
407f7c:	8b 40 08             	mov    0x8(%eax),%eax
407f7f:	ff 75 0c             	push   0xc(%ebp)
407f82:	50                   	push   %eax
407f83:	8b 08                	mov    (%eax),%ecx
407f85:	8b 31                	mov    (%ecx),%esi
407f87:	8b ce                	mov    %esi,%ecx
407f89:	ff 15 28 63 41 00    	call   *0x416328
407f8f:	ff d6                	call   *%esi
407f91:	5e                   	pop    %esi
407f92:	5d                   	pop    %ebp
407f93:	c2 0c 00             	ret    $0xc
407f96:	cc                   	int3
407f97:	cc                   	int3
407f98:	cc                   	int3
407f99:	cc                   	int3
407f9a:	cc                   	int3
407f9b:	cc                   	int3
407f9c:	cc                   	int3
407f9d:	cc                   	int3
407f9e:	cc                   	int3
407f9f:	cc                   	int3
407fa0:	8b ff                	mov    %edi,%edi
407fa2:	55                   	push   %ebp
407fa3:	8b ec                	mov    %esp,%ebp
407fa5:	8b 45 08             	mov    0x8(%ebp),%eax
407fa8:	56                   	push   %esi
407fa9:	8b 40 08             	mov    0x8(%eax),%eax
407fac:	50                   	push   %eax
407fad:	8b 08                	mov    (%eax),%ecx
407faf:	8b 71 08             	mov    0x8(%ecx),%esi
407fb2:	8b ce                	mov    %esi,%ecx
407fb4:	ff 15 28 63 41 00    	call   *0x416328
407fba:	ff d6                	call   *%esi
407fbc:	5e                   	pop    %esi
407fbd:	5d                   	pop    %ebp
407fbe:	c2 04 00             	ret    $0x4
407fc1:	cc                   	int3
407fc2:	cc                   	int3
407fc3:	cc                   	int3
407fc4:	cc                   	int3
407fc5:	cc                   	int3
407fc6:	cc                   	int3
407fc7:	cc                   	int3
407fc8:	cc                   	int3
407fc9:	cc                   	int3
407fca:	cc                   	int3
407fcb:	cc                   	int3
407fcc:	cc                   	int3
407fcd:	cc                   	int3
407fce:	cc                   	int3
407fcf:	cc                   	int3
407fd0:	8b ff                	mov    %edi,%edi
407fd2:	55                   	push   %ebp
407fd3:	8b ec                	mov    %esp,%ebp
407fd5:	8b 45 08             	mov    0x8(%ebp),%eax
407fd8:	56                   	push   %esi
407fd9:	8b 40 08             	mov    0x8(%eax),%eax
407fdc:	50                   	push   %eax
407fdd:	8b 08                	mov    (%eax),%ecx
407fdf:	8b 71 04             	mov    0x4(%ecx),%esi
407fe2:	8b ce                	mov    %esi,%ecx
407fe4:	ff 15 28 63 41 00    	call   *0x416328
407fea:	ff d6                	call   *%esi
407fec:	5e                   	pop    %esi
407fed:	5d                   	pop    %ebp
407fee:	c2 04 00             	ret    $0x4
407ff1:	cc                   	int3
407ff2:	cc                   	int3
407ff3:	cc                   	int3
407ff4:	cc                   	int3
407ff5:	cc                   	int3
407ff6:	cc                   	int3
407ff7:	cc                   	int3
407ff8:	cc                   	int3
407ff9:	cc                   	int3
407ffa:	cc                   	int3
407ffb:	cc                   	int3
407ffc:	cc                   	int3
407ffd:	cc                   	int3
407ffe:	cc                   	int3
407fff:	cc                   	int3
408000:	8b ff                	mov    %edi,%edi
408002:	55                   	push   %ebp