407b63:	c3                   	ret
407b64:	cc                   	int3
407b65:	cc                   	int3
407b66:	cc                   	int3
407b67:	cc                   	int3
407b68:	cc                   	int3
407b69:	cc                   	int3
407b6a:	cc                   	int3
407b6b:	cc                   	int3
407b6c:	cc                   	int3
407b6d:	cc                   	int3
407b6e:	cc                   	int3
407b6f:	cc                   	int3
407b70:	56                   	push   %esi
407b71:	8b 31                	mov    (%ecx),%esi
407b73:	57                   	push   %edi
407b74:	8b 79 04             	mov    0x4(%ecx),%edi
407b77:	3b f7                	cmp    %edi,%esi
407b79:	74 13                	je     0x407b8e
407b7b:	eb 03                	jmp    0x407b80
407b7d:	8d 49 00             	lea    0x0(%ecx),%ecx
407b80:	8b ce                	mov    %esi,%ecx
407b82:	e8 49 01 00 00       	call   0x407cd0
407b87:	83 c6 20             	add    $0x20,%esi
407b8a:	3b f7                	cmp    %edi,%esi
407b8c:	75 f2                	jne    0x407b80
407b8e:	5f                   	pop    %edi
407b8f:	5e                   	pop    %esi
407b90:	c3                   	ret
407b91:	cc                   	int3
407b92:	cc                   	int3
407b93:	cc                   	int3
407b94:	cc                   	int3
407b95:	cc                   	int3
407b96:	cc                   	int3
407b97:	cc                   	int3
407b98:	cc                   	int3
407b99:	cc                   	int3
407b9a:	cc                   	int3
407b9b:	cc                   	int3
407b9c:	cc                   	int3
407b9d:	cc                   	int3
407b9e:	cc                   	int3
407b9f:	cc                   	int3
407ba0:	56                   	push   %esi
407ba1:	8b f1                	mov    %ecx,%esi
407ba3:	8b 06                	mov    (%esi),%eax
407ba5:	ff 70 04             	push   0x4(%eax)
407ba8:	56                   	push   %esi
407ba9:	e8 f2 f6 ff ff       	call   0x4072a0
407bae:	6a 40                	push   $0x40
407bb0:	ff 36                	push   (%esi)
407bb2:	e8 39 ee ff ff       	call   0x4069f0
407bb7:	83 c4 08             	add    $0x8,%esp
407bba:	5e                   	pop    %esi
407bbb:	c3                   	ret
407bbc:	cc                   	int3
407bbd:	cc                   	int3
407bbe:	cc                   	int3
407bbf:	cc                   	int3
407bc0:	56                   	push   %esi
407bc1:	8b f1                	mov    %ecx,%esi
407bc3:	8b 4e 2c             	mov    0x2c(%esi),%ecx
407bc6:	83 f9 07             	cmp    $0x7,%ecx
407bc9:	76 2e                	jbe    0x407bf9
407bcb:	8b 46 18             	mov    0x18(%esi),%eax
407bce:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407bd5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407bdb:	72 12                	jb     0x407bef
407bdd:	8b 50 fc             	mov    -0x4(%eax),%edx
407be0:	83 c1 23             	add    $0x23,%ecx
407be3:	2b c2                	sub    %edx,%eax
407be5:	83 c0 fc             	add    $0xfffffffc,%eax
407be8:	83 f8 1f             	cmp    $0x1f,%eax
407beb:	77 6a                	ja     0x407c57
407bed:	8b c2                	mov    %edx,%eax
407bef:	51                   	push   %ecx
407bf0:	50                   	push   %eax
407bf1:	e8 fa ed ff ff       	call   0x4069f0
407bf6:	83 c4 08             	add    $0x8,%esp
407bf9:	33 c0                	xor    %eax,%eax
407bfb:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
407c02:	c7 46 2c 07 00 00 00 	movl   $0x7,0x2c(%esi)
407c09:	66 89 46 18          	mov    %ax,0x18(%esi)
407c0d:	8b 4e 14             	mov    0x14(%esi),%ecx
407c10:	83 f9 07             	cmp    $0x7,%ecx
407c13:	76 2d                	jbe    0x407c42
407c15:	8b 06                	mov    (%esi),%eax
407c17:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407c1e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407c24:	72 12                	jb     0x407c38
407c26:	8b 50 fc             	mov    -0x4(%eax),%edx
407c29:	83 c1 23             	add    $0x23,%ecx
407c2c:	2b c2                	sub    %edx,%eax
407c2e:	83 c0 fc             	add    $0xfffffffc,%eax
407c31:	83 f8 1f             	cmp    $0x1f,%eax
407c34:	77 21                	ja     0x407c57
407c36:	8b c2                	mov    %edx,%eax
407c38:	51                   	push   %ecx
407c39:	50                   	push   %eax
407c3a:	e8 b1 ed ff ff       	call   0x4069f0
407c3f:	83 c4 08             	add    $0x8,%esp
407c42:	33 c0                	xor    %eax,%eax
407c44:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
407c4b:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
407c52:	66 89 06             	mov    %ax,(%esi)
407c55:	5e                   	pop    %esi
407c56:	c3                   	ret
407c57:	e8 a2 57 00 00       	call   0x40d3fe
407c5c:	cc                   	int3
407c5d:	cc                   	int3
407c5e:	cc                   	int3
407c5f:	cc                   	int3
407c60:	56                   	push   %esi
407c61:	57                   	push   %edi
407c62:	8b f9                	mov    %ecx,%edi
407c64:	8b 37                	mov    (%edi),%esi
407c66:	85 f6                	test   %esi,%esi
407c68:	74 59                	je     0x407cc3
407c6a:	53                   	push   %ebx
407c6b:	8b 5f 04             	mov    0x4(%edi),%ebx
407c6e:	3b f3                	cmp    %ebx,%esi
407c70:	74 0e                	je     0x407c80
407c72:	8b ce                	mov    %esi,%ecx
407c74:	e8 57 00 00 00       	call   0x407cd0
407c79:	83 c6 20             	add    $0x20,%esi
407c7c:	3b f3                	cmp    %ebx,%esi
407c7e:	75 f2                	jne    0x407c72
407c80:	8b 4f 08             	mov    0x8(%edi),%ecx
407c83:	8b 07                	mov    (%edi),%eax
407c85:	2b c8                	sub    %eax,%ecx
407c87:	83 e1 e0             	and    $0xffffffe0,%ecx
407c8a:	5b                   	pop    %ebx
407c8b:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407c91:	72 12                	jb     0x407ca5
407c93:	8b 50 fc             	mov    -0x4(%eax),%edx
407c96:	83 c1 23             	add    $0x23,%ecx
407c99:	2b c2                	sub    %edx,%eax
407c9b:	83 c0 fc             	add    $0xfffffffc,%eax
407c9e:	83 f8 1f             	cmp    $0x1f,%eax
407ca1:	77 23                	ja     0x407cc6
407ca3:	8b c2                	mov    %edx,%eax
407ca5:	51                   	push   %ecx
407ca6:	50                   	push   %eax
407ca7:	e8 44 ed ff ff       	call   0x4069f0
407cac:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
407cb2:	83 c4 08             	add    $0x8,%esp
407cb5:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
407cbc:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
407cc3:	5f                   	pop    %edi
407cc4:	5e                   	pop    %esi
407cc5:	c3                   	ret
407cc6:	e8 33 57 00 00       	call   0x40d3fe
407ccb:	cc                   	int3
407ccc:	cc                   	int3
407ccd:	cc                   	int3
407cce:	cc                   	int3
407ccf:	cc                   	int3
407cd0:	56                   	push   %esi
407cd1:	8b f1                	mov    %ecx,%esi
407cd3:	8b 4e 1c             	mov    0x1c(%esi),%ecx
407cd6:	83 f9 07             	cmp    $0x7,%ecx
407cd9:	76 2e                	jbe    0x407d09
407cdb:	8b 46 08             	mov    0x8(%esi),%eax
407cde:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407ce5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407ceb:	72 12                	jb     0x407cff
407ced:	8b 50 fc             	mov    -0x4(%eax),%edx
407cf0:	83 c1 23             	add    $0x23,%ecx
407cf3:	2b c2                	sub    %edx,%eax
407cf5:	83 c0 fc             	add    $0xfffffffc,%eax
407cf8:	83 f8 1f             	cmp    $0x1f,%eax
407cfb:	77 3b                	ja     0x407d38
407cfd:	8b c2                	mov    %edx,%eax
407cff:	51                   	push   %ecx
407d00:	50                   	push   %eax
407d01:	e8 ea ec ff ff       	call   0x4069f0
407d06:	83 c4 08             	add    $0x8,%esp
407d09:	33 c0                	xor    %eax,%eax
407d0b:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
407d12:	c7 46 1c 07 00 00 00 	movl   $0x7,0x1c(%esi)
407d19:	8b ce                	mov    %esi,%ecx
407d1b:	66 89 46 08          	mov    %ax,0x8(%esi)
407d1f:	8b 06                	mov    (%esi),%eax
407d21:	ff 70 04             	push   0x4(%eax)
407d24:	56                   	push   %esi
407d25:	e8 76 f5 ff ff       	call   0x4072a0
407d2a:	6a 40                	push   $0x40
407d2c:	ff 36                	push   (%esi)
407d2e:	e8 bd ec ff ff       	call   0x4069f0
407d33:	83 c4 08             	add    $0x8,%esp
407d36:	5e                   	pop    %esi
407d37:	c3                   	ret
407d38:	e8 c1 56 00 00       	call   0x40d3fe
407d3d:	cc                   	int3
407d3e:	cc                   	int3
407d3f:	cc                   	int3
407d40:	8d 41 04             	lea    0x4(%ecx),%eax
407d43:	c7 01 44 13 43 00    	movl   $0x431344,(%ecx)
407d49:	50                   	push   %eax
407d4a:	e8 9f 3a 00 00       	call   0x40b7ee
407d4f:	59                   	pop    %ecx
407d50:	c3                   	ret
407d51:	cc                   	int3
407d52:	cc                   	int3
407d53:	cc                   	int3
407d54:	cc                   	int3
407d55:	cc                   	int3
407d56:	cc                   	int3
407d57:	cc                   	int3
407d58:	cc                   	int3
407d59:	cc                   	int3
407d5a:	cc                   	int3
407d5b:	cc                   	int3
407d5c:	cc                   	int3
407d5d:	cc                   	int3
407d5e:	cc                   	int3
407d5f:	cc                   	int3
407d60:	55                   	push   %ebp
407d61:	8b ec                	mov    %esp,%ebp
407d63:	8b 45 0c             	mov    0xc(%ebp),%eax
407d66:	83 78 14 07          	cmpl   $0x7,0x14(%eax)
407d6a:	8b 48 10             	mov    0x10(%eax),%ecx
407d6d:	89 4d 0c             	mov    %ecx,0xc(%ebp)
407d70:	76 02                	jbe    0x407d74
407d72:	8b 00                	mov    (%eax),%eax
407d74:	53                   	push   %ebx
407d75:	56                   	push   %esi
407d76:	8b 75 08             	mov    0x8(%ebp),%esi
407d79:	57                   	push   %edi
407d7a:	83 7e 14 07          	cmpl   $0x7,0x14(%esi)
407d7e:	8b 5e 10             	mov    0x10(%esi),%ebx
407d81:	89 5d 08             	mov    %ebx,0x8(%ebp)
407d84:	76 02                	jbe    0x407d88
407d86:	8b 36                	mov    (%esi),%esi
407d88:	3b cb                	cmp    %ebx,%ecx
407d8a:	8b d3                	mov    %ebx,%edx
407d8c:	0f 42 d1             	cmovb  %ecx,%edx
407d8f:	85 d2                	test   %edx,%edx
407d91:	74 1e                	je     0x407db1
407d93:	2b f0                	sub    %eax,%esi
407d95:	0f b7 0c 06          	movzwl (%esi,%eax,1),%ecx
407d99:	0f b7 38             	movzwl (%eax),%edi
407d9c:	8b d9                	mov    %ecx,%ebx
407d9e:	66 3b cf             	cmp    %di,%cx
407da1:	75 1f                	jne    0x407dc2
407da3:	83 c0 02             	add    $0x2,%eax
407da6:	83 ea 01             	sub    $0x1,%edx
407da9:	75 ea                	jne    0x407d95
407dab:	8b 4d 0c             	mov    0xc(%ebp),%ecx
407dae:	8b 5d 08             	mov    0x8(%ebp),%ebx
407db1:	3b cb                	cmp    %ebx,%ecx
407db3:	76 20                	jbe    0x407dd5
407db5:	5f                   	pop    %edi
407db6:	83 c8 ff             	or     $0xffffffff,%eax
407db9:	5e                   	pop    %esi
407dba:	c1 e8 1f             	shr    $0x1f,%eax
407dbd:	5b                   	pop    %ebx
407dbe:	5d                   	pop    %ebp
407dbf:	c2 08 00             	ret    $0x8
407dc2:	66 3b df             	cmp    %di,%bx
407dc5:	5f                   	pop    %edi
407dc6:	1b c0                	sbb    %eax,%eax
407dc8:	83 e0 fe             	and    $0xfffffffe,%eax
407dcb:	40                   	inc    %eax
407dcc:	5e                   	pop    %esi
407dcd:	c1 e8 1f             	shr    $0x1f,%eax
407dd0:	5b                   	pop    %ebx
407dd1:	5d                   	pop    %ebp
407dd2:	c2 08 00             	ret    $0x8
407dd5:	1b c0                	sbb    %eax,%eax
407dd7:	5f                   	pop    %edi
407dd8:	f7 d8                	neg    %eax
407dda:	5e                   	pop    %esi
407ddb:	c1 e8 1f             	shr    $0x1f,%eax
407dde:	5b                   	pop    %ebx
407ddf:	5d                   	pop    %ebp
407de0:	c2 08 00             	ret    $0x8
407de3:	cc                   	int3
407de4:	cc                   	int3
407de5:	cc                   	int3
407de6:	cc                   	int3
407de7:	cc                   	int3
407de8:	cc                   	int3
407de9:	cc                   	int3
407dea:	cc                   	int3
407deb:	cc                   	int3
407dec:	cc                   	int3
407ded:	cc                   	int3
407dee:	cc                   	int3
407def:	cc                   	int3
407df0:	55                   	push   %ebp
407df1:	8b ec                	mov    %esp,%ebp
407df3:	56                   	push   %esi
407df4:	8b f1                	mov    %ecx,%esi
407df6:	8b 4e 14             	mov    0x14(%esi),%ecx
407df9:	83 f9 07             	cmp    $0x7,%ecx
407dfc:	76 2d                	jbe    0x407e2b
407dfe:	8b 06                	mov    (%esi),%eax
407e00:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407e07:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407e0d:	72 12                	jb     0x407e21
407e0f:	8b 50 fc             	mov    -0x4(%eax),%edx
407e12:	83 c1 23             	add    $0x23,%ecx
407e15:	2b c2                	sub    %edx,%eax
407e17:	83 c0 fc             	add    $0xfffffffc,%eax
407e1a:	83 f8 1f             	cmp    $0x1f,%eax
407e1d:	77 37                	ja     0x407e56
407e1f:	8b c2                	mov    %edx,%eax
407e21:	51                   	push   %ecx
407e22:	50                   	push   %eax
407e23:	e8 c8 eb ff ff       	call   0x4069f0
407e28:	83 c4 08             	add    $0x8,%esp
407e2b:	33 c0                	xor    %eax,%eax
407e2d:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
407e34:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
407e38:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
407e3f:	66 89 06             	mov    %ax,(%esi)
407e42:	74 0b                	je     0x407e4f
407e44:	6a 24                	push   $0x24
407e46:	56                   	push   %esi
407e47:	e8 a4 eb ff ff       	call   0x4069f0
407e4c:	83 c4 08             	add    $0x8,%esp
407e4f:	8b c6                	mov    %esi,%eax
407e51:	5e                   	pop    %esi
407e52:	5d                   	pop    %ebp
407e53:	c2 04 00             	ret    $0x4
407e56:	e8 a3 55 00 00       	call   0x40d3fe
407e5b:	cc                   	int3
407e5c:	cc                   	int3
407e5d:	cc                   	int3
407e5e:	cc                   	int3
407e5f:	cc                   	int3
407e60:	55                   	push   %ebp
407e61:	8b ec                	mov    %esp,%ebp
407e63:	56                   	push   %esi
407e64:	8b f1                	mov    %ecx,%esi
407e66:	8d 46 04             	lea    0x4(%esi),%eax
407e69:	c7 06 44 13 43 00    	movl   $0x431344,(%esi)
407e6f:	50                   	push   %eax
407e70:	e8 79 39 00 00       	call   0x40b7ee
407e75:	83 c4 04             	add    $0x4,%esp
407e78:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
407e7c:	74 0b                	je     0x407e89
407e7e:	6a 0c                	push   $0xc
407e80:	56                   	push   %esi
407e81:	e8 6a eb ff ff       	call   0x4069f0
407e86:	83 c4 08             	add    $0x8,%esp
407e89:	8b c6                	mov    %esi,%eax
407e8b:	5e                   	pop    %esi