456a62:	8b da                	mov    %edx,%ebx
456a64:	8b f0                	mov    %eax,%esi
456a66:	8b c6                	mov    %esi,%eax
456a68:	8b 10                	mov    (%eax),%edx
456a6a:	ff 52 24             	call   *0x24(%edx)
456a6d:	84 c0                	test   %al,%al
456a6f:	74 0a                	je     0x456a7b
456a71:	8b d3                	mov    %ebx,%edx
456a73:	8b 46 18             	mov    0x18(%esi),%eax
456a76:	e8 75 20 00 00       	call   0x458af0
456a7b:	5e                   	pop    %esi
456a7c:	5b                   	pop    %ebx
456a7d:	c3                   	ret
456a7e:	8b c0                	mov    %eax,%eax
456a80:	53                   	push   %ebx
456a81:	56                   	push   %esi
456a82:	8b da                	mov    %edx,%ebx
456a84:	8b f0                	mov    %eax,%esi
456a86:	8b c6                	mov    %esi,%eax
456a88:	8b 10                	mov    (%eax),%edx
456a8a:	ff 52 28             	call   *0x28(%edx)
456a8d:	84 c0                	test   %al,%al
456a8f:	74 0a                	je     0x456a9b
456a91:	8b d3                	mov    %ebx,%edx
456a93:	8b 46 18             	mov    0x18(%esi),%eax
456a96:	e8 a9 20 00 00       	call   0x458b44
456a9b:	5e                   	pop    %esi
456a9c:	5b                   	pop    %ebx
456a9d:	c3                   	ret
456a9e:	8b c0                	mov    %eax,%eax
456aa0:	53                   	push   %ebx
456aa1:	56                   	push   %esi
456aa2:	8b f2                	mov    %edx,%esi
456aa4:	8b d8                	mov    %eax,%ebx
456aa6:	8b c3                	mov    %ebx,%eax
456aa8:	8b 10                	mov    (%eax),%edx
456aaa:	ff 52 30             	call   *0x30(%edx)
456aad:	84 c0                	test   %al,%al
456aaf:	74 06                	je     0x456ab7
456ab1:	8b 43 18             	mov    0x18(%ebx),%eax
456ab4:	89 70 54             	mov    %esi,0x54(%eax)
456ab7:	5e                   	pop    %esi
456ab8:	5b                   	pop    %ebx
456ab9:	c3                   	ret
456aba:	8b c0                	mov    %eax,%eax
456abc:	53                   	push   %ebx
456abd:	56                   	push   %esi
456abe:	8b f2                	mov    %edx,%esi
456ac0:	8b d8                	mov    %eax,%ebx
456ac2:	8b c3                	mov    %ebx,%eax
456ac4:	8b 10                	mov    (%eax),%edx
456ac6:	ff 52 38             	call   *0x38(%edx)
456ac9:	84 c0                	test   %al,%al
456acb:	74 0d                	je     0x456ada
456acd:	8b 43 18             	mov    0x18(%ebx),%eax
456ad0:	83 c0 58             	add    $0x58,%eax
456ad3:	8b d6                	mov    %esi,%edx
456ad5:	e8 ca d5 fa ff       	call   0x4040a4
456ada:	5e                   	pop    %esi
456adb:	5b                   	pop    %ebx
456adc:	c3                   	ret
456add:	8d 40 00             	lea    0x0(%eax),%eax
456ae0:	53                   	push   %ebx
456ae1:	56                   	push   %esi
456ae2:	8b f2                	mov    %edx,%esi
456ae4:	8b d8                	mov    %eax,%ebx
456ae6:	8b c3                	mov    %ebx,%eax
456ae8:	8b 10                	mov    (%eax),%edx
456aea:	ff 52 3c             	call   *0x3c(%edx)
456aed:	84 c0                	test   %al,%al
456aef:	74 0a                	je     0x456afb
456af1:	8b d6                	mov    %esi,%edx
456af3:	8b 43 18             	mov    0x18(%ebx),%eax
456af6:	e8 75 21 00 00       	call   0x458c70
456afb:	5e                   	pop    %esi
456afc:	5b                   	pop    %ebx
456afd:	c3                   	ret
456afe:	8b c0                	mov    %eax,%eax
456b00:	53                   	push   %ebx
456b01:	56                   	push   %esi
456b02:	8b f2                	mov    %edx,%esi
456b04:	8b d8                	mov    %eax,%ebx
456b06:	8b c3                	mov    %ebx,%eax
456b08:	8b 10                	mov    (%eax),%edx
456b0a:	ff 52 40             	call   *0x40(%edx)
456b0d:	84 c0                	test   %al,%al
456b0f:	74 0a                	je     0x456b1b
456b11:	8b d6                	mov    %esi,%edx
456b13:	8b 43 18             	mov    0x18(%ebx),%eax
456b16:	e8 31 21 00 00       	call   0x458c4c
456b1b:	5e                   	pop    %esi
456b1c:	5b                   	pop    %ebx
456b1d:	c3                   	ret
456b1e:	8b c0                	mov    %eax,%eax
456b20:	53                   	push   %ebx
456b21:	56                   	push   %esi
456b22:	8b da                	mov    %edx,%ebx
456b24:	8b f0                	mov    %eax,%esi
456b26:	8b c6                	mov    %esi,%eax
456b28:	8b 10                	mov    (%eax),%edx
456b2a:	ff 52 44             	call   *0x44(%edx)
456b2d:	84 c0                	test   %al,%al
456b2f:	74 0a                	je     0x456b3b
456b31:	8b d3                	mov    %ebx,%edx
456b33:	8b 46 18             	mov    0x18(%esi),%eax
456b36:	e8 25 21 00 00       	call   0x458c60
456b3b:	5e                   	pop    %esi
456b3c:	5b                   	pop    %ebx
456b3d:	c3                   	ret
456b3e:	8b c0                	mov    %eax,%eax
456b40:	55                   	push   %ebp
456b41:	8b ec                	mov    %esp,%ebp
456b43:	53                   	push   %ebx
456b44:	8b d8                	mov    %eax,%ebx
456b46:	8b c3                	mov    %ebx,%eax
456b48:	8b 10                	mov    (%eax),%edx
456b4a:	ff 52 08             	call   *0x8(%edx)
456b4d:	84 c0                	test   %al,%al
456b4f:	74 15                	je     0x456b66
456b51:	8b 43 18             	mov    0x18(%ebx),%eax
456b54:	8b 55 08             	mov    0x8(%ebp),%edx
456b57:	89 90 88 00 00 00    	mov    %edx,0x88(%eax)
456b5d:	8b 55 0c             	mov    0xc(%ebp),%edx
456b60:	89 90 8c 00 00 00    	mov    %edx,0x8c(%eax)
456b66:	5b                   	pop    %ebx
456b67:	5d                   	pop    %ebp
456b68:	c2 08 00             	ret    $0x8
456b6b:	90                   	nop
456b6c:	55                   	push   %ebp
456b6d:	8b ec                	mov    %esp,%ebp
456b6f:	51                   	push   %ecx
456b70:	53                   	push   %ebx
456b71:	56                   	push   %esi
456b72:	84 d2                	test   %dl,%dl
456b74:	74 08                	je     0x456b7e
456b76:	83 c4 f0             	add    $0xfffffff0,%esp
456b79:	e8 a6 ca fa ff       	call   0x403624
456b7e:	88 55 ff             	mov    %dl,-0x1(%ebp)
456b81:	8b d8                	mov    %eax,%ebx
456b83:	33 d2                	xor    %edx,%edx
456b85:	8b c3                	mov    %ebx,%eax
456b87:	e8 dc 9e fc ff       	call   0x420a68
456b8c:	c6 43 3e 01          	movb   $0x1,0x3e(%ebx)
456b90:	c6 43 39 01          	movb   $0x1,0x39(%ebx)
456b94:	c6 43 3b 02          	movb   $0x2,0x3b(%ebx)
456b98:	c6 43 3c 02          	movb   $0x2,0x3c(%ebx)
456b9c:	e8 b7 fa ff ff       	call   0x456658
456ba1:	66 89 43 50          	mov    %ax,0x50(%ebx)
456ba5:	c7 43 40 ff ff ff ff 	movl   $0xffffffff,0x40(%ebx)
456bac:	b2 01                	mov    $0x1,%dl
456bae:	a1 50 37 45 00       	mov    0x453750,%eax
456bb3:	e8 d8 c6 fa ff       	call   0x403290
456bb8:	8b f0                	mov    %eax,%esi
456bba:	89 73 78             	mov    %esi,0x78(%ebx)
456bbd:	89 5e 0c             	mov    %ebx,0xc(%esi)
456bc0:	c7 46 08 7c 95 45 00 	movl   $0x45957c,0x8(%esi)
456bc7:	8b c3                	mov    %ebx,%eax
456bc9:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
456bcd:	74 0f                	je     0x456bde
456bcf:	e8 a8 ca fa ff       	call   0x40367c
456bd4:	64 8f 05 00 00 00 00 	pop    %fs:0x0
456bdb:	83 c4 0c             	add    $0xc,%esp
456bde:	8b c3                	mov    %ebx,%eax
456be0:	5e                   	pop    %esi
456be1:	5b                   	pop    %ebx
456be2:	59                   	pop    %ecx
456be3:	5d                   	pop    %ebp
456be4:	c3                   	ret
456be5:	8d 40 00             	lea    0x0(%eax),%eax
456be8:	53                   	push   %ebx
456be9:	56                   	push   %esi
456bea:	e8 9d ca fa ff       	call   0x40368c
456bef:	8b da                	mov    %edx,%ebx
456bf1:	8b f0                	mov    %eax,%esi
456bf3:	8b d6                	mov    %esi,%edx
456bf5:	a1 ac 5b 47 00       	mov    0x475bac,%eax
456bfa:	e8 19 49 00 00       	call   0x45b518
456bff:	8b 46 64             	mov    0x64(%esi),%eax
456c02:	85 c0                	test   %eax,%eax
456c04:	74 1c                	je     0x456c22
456c06:	8b d6                	mov    %esi,%edx
456c08:	e8 a3 23 00 00       	call   0x458fb0
456c0d:	33 c0                	xor    %eax,%eax
456c0f:	89 46 64             	mov    %eax,0x64(%esi)
456c12:	eb 0e                	jmp    0x456c22
456c14:	33 d2                	xor    %edx,%edx
456c16:	8b c6                	mov    %esi,%eax
456c18:	e8 0b 20 00 00       	call   0x458c28
456c1d:	e8 9e c6 fa ff       	call   0x4032c0
456c22:	8b c6                	mov    %esi,%eax
456c24:	e8 ef 1f 00 00       	call   0x458c18
456c29:	85 c0                	test   %eax,%eax
456c2b:	7f e7                	jg     0x456c14
456c2d:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
456c31:	74 12                	je     0x456c45
456c33:	33 d2                	xor    %edx,%edx
456c35:	8b c6                	mov    %esi,%eax
456c37:	e8 c8 03 00 00       	call   0x457004
456c3c:	8b 46 34             	mov    0x34(%esi),%eax
456c3f:	50                   	push   %eax
456c40:	e8 2f fb fa ff       	call   0x406774
456c45:	8b 46 5c             	mov    0x5c(%esi),%eax
456c48:	e8 73 c6 fa ff       	call   0x4032c0
456c4d:	8d 46 44             	lea    0x44(%esi),%eax
456c50:	e8 83 68 fb ff       	call   0x40d4d8
456c55:	8d 46 78             	lea    0x78(%esi),%eax
456c58:	e8 7b 68 fb ff       	call   0x40d4d8
456c5d:	66 8b 46 50          	mov    0x50(%esi),%ax
456c61:	66 85 c0             	test   %ax,%ax
456c64:	74 0f                	je     0x456c75
456c66:	0f b7 d0             	movzwl %ax,%edx
456c69:	33 c9                	xor    %ecx,%ecx
456c6b:	a1 b4 5b 47 00       	mov    0x475bb4,%eax
456c70:	e8 3b 20 fc ff       	call   0x418cb0
456c75:	8b 46 4c             	mov    0x4c(%esi),%eax
456c78:	85 c0                	test   %eax,%eax
456c7a:	74 05                	je     0x456c81
456c7c:	e8 3f c6 fa ff       	call   0x4032c0
456c81:	8b d3                	mov    %ebx,%edx
456c83:	80 e2 fc             	and    $0xfc,%dl
456c86:	8b c6                	mov    %esi,%eax
456c88:	e8 27 9e fc ff       	call   0x420ab4
456c8d:	84 db                	test   %bl,%bl
456c8f:	7e 07                	jle    0x456c98
456c91:	8b c6                	mov    %esi,%eax
456c93:	e8 dc c9 fa ff       	call   0x403674
456c98:	5e                   	pop    %esi
456c99:	5b                   	pop    %ebx
456c9a:	c3                   	ret
456c9b:	90                   	nop
456c9c:	55                   	push   %ebp
456c9d:	8b ec                	mov    %esp,%ebp
456c9f:	83 c4 c0             	add    $0xffffffc0,%esp
456ca2:	53                   	push   %ebx
456ca3:	56                   	push   %esi
456ca4:	57                   	push   %edi
456ca5:	33 db                	xor    %ebx,%ebx
456ca7:	89 5d c0             	mov    %ebx,-0x40(%ebp)
456caa:	89 5d f8             	mov    %ebx,-0x8(%ebp)
456cad:	88 4d ff             	mov    %cl,-0x1(%ebp)
456cb0:	8b fa                	mov    %edx,%edi
456cb2:	8b d8                	mov    %eax,%ebx
456cb4:	33 c0                	xor    %eax,%eax
456cb6:	55                   	push   %ebp
456cb7:	68 f7 6e 45 00       	push   $0x456ef7
456cbc:	64 ff 30             	push   %fs:(%eax)
456cbf:	64 89 20             	mov    %esp,%fs:(%eax)
456cc2:	80 7b 3e 00          	cmpb   $0x0,0x3e(%ebx)
456cc6:	0f 84 0d 02 00 00    	je     0x456ed9
456ccc:	8d 45 f8             	lea    -0x8(%ebp),%eax
456ccf:	8b 53 30             	mov    0x30(%ebx),%edx
456cd2:	e8 11 d4 fa ff       	call   0x4040e8
456cd7:	8b c3                	mov    %ebx,%eax
456cd9:	e8 3a 1f 00 00       	call   0x458c18
456cde:	85 c0                	test   %eax,%eax
456ce0:	7e 0c                	jle    0x456cee
456ce2:	8b c3                	mov    %ebx,%eax
456ce4:	e8 c3 04 00 00       	call   0x4571ac
456ce9:	89 45 db             	mov    %eax,-0x25(%ebp)
456cec:	eb 4a                	jmp    0x456d38
456cee:	66 83 7b 60 00       	cmpw   $0x0,0x60(%ebx)
456cf3:	74 43                	je     0x456d38
456cf5:	8b 73 64             	mov    0x64(%ebx),%esi
456cf8:	85 f6                	test   %esi,%esi
456cfa:	74 18                	je     0x456d14
456cfc:	83 7e 64 00          	cmpl   $0x0,0x64(%esi)
456d00:	75 12                	jne    0x456d14
456d02:	8b 46 04             	mov    0x4(%esi),%eax
456d05:	8b 15 90 5b 45 00    	mov    0x455b90,%edx
456d0b:	e8 3c c7 fa ff       	call   0x40344c
456d10:	84 c0                	test   %al,%al
456d12:	75 24                	jne    0x456d38
456d14:	ff 75 f8             	push   -0x8(%ebp)
456d17:	68 10 6f 45 00       	push   $0x456f10
456d1c:	8d 55 c0             	lea    -0x40(%ebp),%edx
456d1f:	66 8b 43 60          	mov    0x60(%ebx),%ax
456d23:	e8 d8 f5 ff ff       	call   0x456300
456d28:	ff 75 c0             	push   -0x40(%ebp)
456d2b:	8d 45 f8             	lea    -0x8(%ebp),%eax
456d2e:	ba 03 00 00 00       	mov    $0x3,%edx
456d33:	e8 98 d6 fa ff       	call   0x4043d0
456d38:	e8 6f f6 fa ff       	call   0x4063ac
456d3d:	25 ff 00 00 00       	and    $0xff,%eax
456d42:	66 83 f8 04          	cmp    $0x4,%ax
456d46:	0f 82 06 01 00 00    	jb     0x456e52
456d4c:	c7 45 c7 2c 00 00 00 	movl   $0x2c,-0x39(%ebp)
456d53:	c7 45 cb 3f 00 00 00 	movl   $0x3f,-0x35(%ebp)
456d5a:	8b c3                	mov    %ebx,%eax
456d5c:	e8 73 24 00 00       	call   0x4591d4
456d61:	8b f0                	mov    %eax,%esi
456d63:	85 f6                	test   %esi,%esi
456d65:	74 11                	je     0x456d78
456d67:	80 7e 40 00          	cmpb   $0x0,0x40(%esi)
456d6b:	75 21                	jne    0x456d8e
456d6d:	8b c3                	mov    %ebx,%eax
456d6f:	e8 7c 1a 00 00       	call   0x4587f0
456d74:	85 c0                	test   %eax,%eax
456d76:	75 16                	jne    0x456d8e
456d78:	83 7b 4c 00          	cmpl   $0x0,0x4c(%ebx)
456d7c:	74 0c                	je     0x456d8a
456d7e:	8b 43 4c             	mov    0x4c(%ebx),%eax
456d81:	8b 10                	mov    (%eax),%edx
456d83:	ff 52 1c             	call   *0x1c(%edx)
456d86:	84 c0                	test   %al,%al
456d88:	74 04                	je     0x456d8e
456d8a:	33 c0                	xor    %eax,%eax
456d8c:	eb 02                	jmp    0x456d90
456d8e:	b0 01                	mov    $0x1,%al
456d90:	88 45 f7             	mov    %al,-0x9(%ebp)
456d93:	8b 43 30             	mov    0x30(%ebx),%eax
456d96:	ba 1c 6f 45 00       	mov    $0x456f1c,%edx
456d9b:	e8 bc d6 fa ff       	call   0x40445c
456da0:	0f 94 c0             	sete   %al
456da3:	83 e0 7f             	and    $0x7f,%eax
456da6:	8b 04 85 74 9d 46 00 	mov    0x469d74(,%eax,4),%eax
456dad:	33 d2                	xor    %edx,%edx
456daf:	8a 53 3d             	mov    0x3d(%ebx),%dl
456db2:	8b 14 95 6c 9d 46 00 	mov    0x469d6c(,%edx,4),%edx
456db9:	33 c9                	xor    %ecx,%ecx
456dbb:	8a 4b 48             	mov    0x48(%ebx),%cl
456dbe:	0b 14 8d 48 9d 46 00 	or     0x469d48(,%ecx,4),%edx
456dc5:	0b c2                	or     %edx,%eax
456dc7:	33 d2                	xor    %edx,%edx
456dc9:	8a 55 ff             	mov    -0x1(%ebp),%dl
456dcc:	0b 04 95 7c 9d 46 00 	or     0x469d7c(,%edx,4),%eax
456dd3:	33 d2                	xor    %edx,%edx
456dd5:	8a 55 f7             	mov    -0x9(%ebp),%dl
456dd8:	0b 04 95 84 9d 46 00 	or     0x469d84(,%edx,4),%eax
456ddf:	89 45 cf             	mov    %eax,-0x31(%ebp)
456de2:	33 c0                	xor    %eax,%eax
456de4:	8a 43 38             	mov    0x38(%ebx),%al
456de7:	8b 04 85 54 9d 46 00 	mov    0x469d54(,%eax,4),%eax
456dee:	33 d2                	xor    %edx,%edx
456df0:	8a 53 39             	mov    0x39(%ebx),%dl
456df3:	0b 04 95 64 9d 46 00 	or     0x469d64(,%edx,4),%eax
456dfa:	33 d2                	xor    %edx,%edx
456dfc:	8a 53 3a             	mov    0x3a(%ebx),%dl
456dff:	0b 04 95 5c 9d 46 00 	or     0x469d5c(,%edx,4),%eax
456e06:	89 45 d3             	mov    %eax,-0x2d(%ebp)
456e09:	0f b7 43 50          	movzwl 0x50(%ebx),%eax
456e0d:	89 45 d7             	mov    %eax,-0x29(%ebp)
456e10:	33 c0                	xor    %eax,%eax
456e12:	89 45 db             	mov    %eax,-0x25(%ebp)
456e15:	33 c0                	xor    %eax,%eax
456e17:	89 45 df             	mov    %eax,-0x21(%ebp)
456e1a:	33 c0                	xor    %eax,%eax
456e1c:	89 45 e3             	mov    %eax,-0x1d(%ebp)
456e1f:	8b 45 f8             	mov    -0x8(%ebp),%eax
456e22:	e8 e9 d6 fa ff       	call   0x404510
456e27:	89 45 eb             	mov    %eax,-0x15(%ebp)