456904:	75 31                	jne    0x456937
456906:	8b 46 08             	mov    0x8(%esi),%eax
456909:	89 45 f8             	mov    %eax,-0x8(%ebp)
45690c:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
456910:	8d 45 f8             	lea    -0x8(%ebp),%eax
456913:	50                   	push   %eax
456914:	6a 00                	push   $0x0
456916:	8d 55 f4             	lea    -0xc(%ebp),%edx
456919:	a1 dc dc 46 00       	mov    0x46dcdc,%eax
45691e:	e8 d9 f1 fa ff       	call   0x405afc
456923:	8b 4d f4             	mov    -0xc(%ebp),%ecx
456926:	b2 01                	mov    $0x1,%dl
456928:	a1 28 18 41 00       	mov    0x411828,%eax
45692d:	e8 72 4c fb ff       	call   0x40b5a4
456932:	e8 9d d0 fa ff       	call   0x4039d4
456937:	33 c0                	xor    %eax,%eax
456939:	5a                   	pop    %edx
45693a:	59                   	pop    %ecx
45693b:	59                   	pop    %ecx
45693c:	64 89 10             	mov    %edx,%fs:(%eax)
45693f:	68 54 69 45 00       	push   $0x456954
456944:	8d 45 f4             	lea    -0xc(%ebp),%eax
456947:	e8 4c d6 fa ff       	call   0x403f98
45694c:	c3                   	ret
45694d:	e9 4a d0 fa ff       	jmp    0x40399c
456952:	eb f0                	jmp    0x456944
456954:	8b c3                	mov    %ebx,%eax
456956:	5e                   	pop    %esi
456957:	5b                   	pop    %ebx
456958:	8b e5                	mov    %ebp,%esp
45695a:	5d                   	pop    %ebp
45695b:	c3                   	ret
45695c:	55                   	push   %ebp
45695d:	8b ec                	mov    %esp,%ebp
45695f:	53                   	push   %ebx
456960:	56                   	push   %esi
456961:	57                   	push   %edi
456962:	84 d2                	test   %dl,%dl
456964:	74 08                	je     0x45696e
456966:	83 c4 f0             	add    $0xfffffff0,%esp
456969:	e8 fe cb fa ff       	call   0x40356c
45696e:	8b f1                	mov    %ecx,%esi
456970:	8b da                	mov    %edx,%ebx
456972:	8b f8                	mov    %eax,%edi
456974:	33 d2                	xor    %edx,%edx
456976:	8b c7                	mov    %edi,%eax
456978:	e8 9b c8 fa ff       	call   0x403218
45697d:	89 77 04             	mov    %esi,0x4(%edi)
456980:	8a 45 08             	mov    0x8(%ebp),%al
456983:	88 47 18             	mov    %al,0x18(%edi)
456986:	66 b9 50 00          	mov    $0x50,%cx
45698a:	66 89 4f 0a          	mov    %cx,0xa(%edi)
45698e:	0f b7 c1             	movzwl %cx,%eax
456991:	b9 0a 00 00 00       	mov    $0xa,%ecx
456996:	33 d2                	xor    %edx,%edx
456998:	f7 f1                	div    %ecx
45699a:	66 89 47 08          	mov    %ax,0x8(%edi)
45699e:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
4569a2:	c7 47 20 0a 00 00 00 	movl   $0xa,0x20(%edi)
4569a9:	c7 47 40 04 00 00 00 	movl   $0x4,0x40(%edi)
4569b0:	c7 47 3c 0c 00 00 00 	movl   $0xc,0x3c(%edi)
4569b7:	c7 47 28 14 00 00 ff 	movl   $0xff000014,0x28(%edi)
4569be:	c6 47 2c 01          	movb   $0x1,0x2c(%edi)
4569c2:	c6 47 44 01          	movb   $0x1,0x44(%edi)
4569c6:	8b c7                	mov    %edi,%eax
4569c8:	84 db                	test   %bl,%bl
4569ca:	74 0f                	je     0x4569db
4569cc:	e8 f3 cb fa ff       	call   0x4035c4
4569d1:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4569d8:	83 c4 0c             	add    $0xc,%esp
4569db:	8b c7                	mov    %edi,%eax
4569dd:	5f                   	pop    %edi
4569de:	5e                   	pop    %esi
4569df:	5b                   	pop    %ebx
4569e0:	5d                   	pop    %ebp
4569e1:	c2 04 00             	ret    $0x4
4569e4:	8a 40 1f             	mov    0x1f(%eax),%al
4569e7:	34 01                	xor    $0x1,%al
4569e9:	c3                   	ret
4569ea:	8b c0                	mov    %eax,%eax
4569ec:	53                   	push   %ebx
4569ed:	56                   	push   %esi
4569ee:	57                   	push   %edi
4569ef:	8b f2                	mov    %edx,%esi
4569f1:	8b d8                	mov    %eax,%ebx
4569f3:	8b c6                	mov    %esi,%eax
4569f5:	8b 15 b8 46 45 00    	mov    0x4546b8,%edx
4569fb:	e8 d4 c9 fa ff       	call   0x4033d4
456a00:	84 c0                	test   %al,%al
456a02:	74 2a                	je     0x456a2e
456a04:	8b fe                	mov    %esi,%edi
456a06:	8a 57 1c             	mov    0x1c(%edi),%dl
456a09:	8b c3                	mov    %ebx,%eax
456a0b:	e8 a4 08 00 00       	call   0x4572b4
456a10:	8b 57 10             	mov    0x10(%edi),%edx
456a13:	8b c3                	mov    %ebx,%eax
456a15:	e8 7a 08 00 00       	call   0x457294
456a1a:	8b 57 0c             	mov    0xc(%edi),%edx
456a1d:	8b c3                	mov    %ebx,%eax
456a1f:	e8 20 07 00 00       	call   0x457144
456a24:	66 8b 47 08          	mov    0x8(%edi),%ax
456a28:	66 89 43 08          	mov    %ax,0x8(%ebx)
456a2c:	eb 09                	jmp    0x456a37
456a2e:	8b d6                	mov    %esi,%edx
456a30:	8b c3                	mov    %ebx,%eax
456a32:	e8 59 d9 fb ff       	call   0x414390
456a37:	5f                   	pop    %edi
456a38:	5e                   	pop    %esi
456a39:	5b                   	pop    %ebx
456a3a:	c3                   	ret
456a3b:	90                   	nop
456a3c:	53                   	push   %ebx
456a3d:	8b d8                	mov    %eax,%ebx
456a3f:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
456a43:	75 2c                	jne    0x456a71
456a45:	8b c3                	mov    %ebx,%eax
456a47:	e8 a8 01 00 00       	call   0x456bf4
456a4c:	84 c0                	test   %al,%al
456a4e:	74 21                	je     0x456a71
456a50:	8b 43 04             	mov    0x4(%ebx),%eax
456a53:	e8 24 95 fe ff       	call   0x43ff7c
456a58:	84 c0                	test   %al,%al
456a5a:	75 0b                	jne    0x456a67
456a5c:	33 d2                	xor    %edx,%edx
456a5e:	8b c3                	mov    %ebx,%eax
456a60:	e8 df 06 00 00       	call   0x457144
456a65:	eb 0a                	jmp    0x456a71
456a67:	8b 53 10             	mov    0x10(%ebx),%edx
456a6a:	8b c3                	mov    %ebx,%eax
456a6c:	e8 d3 06 00 00       	call   0x457144
456a71:	5b                   	pop    %ebx
456a72:	c3                   	ret
456a73:	90                   	nop
456a74:	55                   	push   %ebp
456a75:	8b ec                	mov    %esp,%ebp
456a77:	53                   	push   %ebx
456a78:	8b d8                	mov    %eax,%ebx
456a7a:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
456a7e:	74 54                	je     0x456ad4
456a80:	8a 43 5b             	mov    0x5b(%ebx),%al
456a83:	2c 01                	sub    $0x1,%al
456a85:	72 0a                	jb     0x456a91
456a87:	2c 02                	sub    $0x2,%al
456a89:	74 06                	je     0x456a91
456a8b:	fe c8                	dec    %al
456a8d:	74 3c                	je     0x456acb
456a8f:	eb 43                	jmp    0x456ad4
456a91:	80 7b 5b 03          	cmpb   $0x3,0x5b(%ebx)
456a95:	74 12                	je     0x456aa9
456a97:	a0 d8 6a 45 00       	mov    0x456ad8,%al
456a9c:	22 43 61             	and    0x61(%ebx),%al
456a9f:	8a 15 dc 6a 45 00    	mov    0x456adc,%dl
456aa5:	3a d0                	cmp    %al,%dl
456aa7:	75 2b                	jne    0x456ad4
456aa9:	8b 45 08             	mov    0x8(%ebp),%eax
456aac:	8b 40 f8             	mov    -0x8(%eax),%eax
456aaf:	8b 50 0c             	mov    0xc(%eax),%edx
456ab2:	03 53 40             	add    0x40(%ebx),%edx
456ab5:	03 53 48             	add    0x48(%ebx),%edx
456ab8:	8b 45 08             	mov    0x8(%ebp),%eax
456abb:	8b 40 fc             	mov    -0x4(%eax),%eax
456abe:	e8 95 dc fc ff       	call   0x424758
456ac3:	8b 55 08             	mov    0x8(%ebp),%edx
456ac6:	89 42 fc             	mov    %eax,-0x4(%edx)
456ac9:	eb 09                	jmp    0x456ad4
456acb:	8b 45 08             	mov    0x8(%ebp),%eax
456ace:	8b 53 48             	mov    0x48(%ebx),%edx
456ad1:	01 50 f4             	add    %edx,-0xc(%eax)
456ad4:	5b                   	pop    %ebx
456ad5:	5d                   	pop    %ebp
456ad6:	c3                   	ret
456ad7:	00 05 00 00 00 01    	add    %al,0x1000000
456add:	00 00                	add    %al,(%eax)
456adf:	00 55 8b             	add    %dl,-0x75(%ebp)
456ae2:	ec                   	in     (%dx),%al
456ae3:	53                   	push   %ebx
456ae4:	8b d8                	mov    %eax,%ebx
456ae6:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
456aea:	74 4e                	je     0x456b3a
456aec:	8a 43 5b             	mov    0x5b(%ebx),%al
456aef:	2c 02                	sub    $0x2,%al
456af1:	72 04                	jb     0x456af7
456af3:	74 3c                	je     0x456b31
456af5:	eb 43                	jmp    0x456b3a
456af7:	80 7b 5b 01          	cmpb   $0x1,0x5b(%ebx)
456afb:	74 12                	je     0x456b0f
456afd:	a0 40 6b 45 00       	mov    0x456b40,%al
456b02:	22 43 61             	and    0x61(%ebx),%al
456b05:	8a 15 44 6b 45 00    	mov    0x456b44,%dl
456b0b:	3a d0                	cmp    %al,%dl
456b0d:	75 2b                	jne    0x456b3a
456b0f:	8b 45 08             	mov    0x8(%ebp),%eax
456b12:	8b 40 f8             	mov    -0x8(%eax),%eax
456b15:	8b 50 0c             	mov    0xc(%eax),%edx
456b18:	03 53 44             	add    0x44(%ebx),%edx
456b1b:	03 53 4c             	add    0x4c(%ebx),%edx
456b1e:	8b 45 08             	mov    0x8(%ebp),%eax
456b21:	8b 40 fc             	mov    -0x4(%eax),%eax
456b24:	e8 2f dc fc ff       	call   0x424758
456b29:	8b 55 08             	mov    0x8(%ebp),%edx
456b2c:	89 42 fc             	mov    %eax,-0x4(%edx)
456b2f:	eb 09                	jmp    0x456b3a
456b31:	8b 45 08             	mov    0x8(%ebp),%eax
456b34:	8b 53 4c             	mov    0x4c(%ebx),%edx
456b37:	01 50 f4             	add    %edx,-0xc(%eax)
456b3a:	5b                   	pop    %ebx
456b3b:	5d                   	pop    %ebp
456b3c:	c3                   	ret
456b3d:	00 00                	add    %al,(%eax)
456b3f:	00 0a                	add    %cl,(%edx)
456b41:	00 00                	add    %al,(%eax)
456b43:	00 02                	add    %al,(%edx)
456b45:	00 00                	add    %al,(%eax)
456b47:	00 55 8b             	add    %dl,-0x75(%ebp)
456b4a:	ec                   	in     (%dx),%al
456b4b:	83 c4 f4             	add    $0xfffffff4,%esp
456b4e:	53                   	push   %ebx
456b4f:	56                   	push   %esi
456b50:	89 45 f8             	mov    %eax,-0x8(%ebp)
456b53:	8b 45 f8             	mov    -0x8(%ebp),%eax
456b56:	8b 58 04             	mov    0x4(%eax),%ebx
456b59:	80 bb 10 02 00 00 00 	cmpb   $0x0,0x210(%ebx)
456b60:	0f 84 87 00 00 00    	je     0x456bed
456b66:	8b c3                	mov    %ebx,%eax
456b68:	8b 10                	mov    (%eax),%edx
456b6a:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
456b70:	84 c0                	test   %al,%al
456b72:	74 6f                	je     0x456be3
456b74:	33 c0                	xor    %eax,%eax
456b76:	89 45 fc             	mov    %eax,-0x4(%ebp)
456b79:	33 c0                	xor    %eax,%eax
456b7b:	89 45 f4             	mov    %eax,-0xc(%ebp)
456b7e:	8b 45 f8             	mov    -0x8(%ebp),%eax
456b81:	8b 40 04             	mov    0x4(%eax),%eax
456b84:	e8 97 c2 fe ff       	call   0x442e20
456b89:	8b d8                	mov    %eax,%ebx
456b8b:	4b                   	dec    %ebx
456b8c:	85 db                	test   %ebx,%ebx
456b8e:	7c 3a                	jl     0x456bca
456b90:	43                   	inc    %ebx
456b91:	33 f6                	xor    %esi,%esi
456b93:	8b 45 f8             	mov    -0x8(%ebp),%eax
456b96:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
456b9a:	75 16                	jne    0x456bb2
456b9c:	55                   	push   %ebp
456b9d:	8b 45 f8             	mov    -0x8(%ebp),%eax
456ba0:	8b 40 04             	mov    0x4(%eax),%eax
456ba3:	8b d6                	mov    %esi,%edx
456ba5:	e8 3a c2 fe ff       	call   0x442de4
456baa:	e8 c5 fe ff ff       	call   0x456a74
456baf:	59                   	pop    %ecx
456bb0:	eb 14                	jmp    0x456bc6
456bb2:	55                   	push   %ebp
456bb3:	8b 45 f8             	mov    -0x8(%ebp),%eax
456bb6:	8b 40 04             	mov    0x4(%eax),%eax
456bb9:	8b d6                	mov    %esi,%edx
456bbb:	e8 24 c2 fe ff       	call   0x442de4
456bc0:	e8 1b ff ff ff       	call   0x456ae0
456bc5:	59                   	pop    %ecx
456bc6:	46                   	inc    %esi
456bc7:	4b                   	dec    %ebx
456bc8:	75 c9                	jne    0x456b93
456bca:	8b 55 fc             	mov    -0x4(%ebp),%edx
456bcd:	03 55 f4             	add    -0xc(%ebp),%edx
456bd0:	8b 45 f8             	mov    -0x8(%ebp),%eax
456bd3:	0f b7 40 1a          	movzwl 0x1a(%eax),%eax
456bd7:	03 d0                	add    %eax,%edx
456bd9:	8b 45 f8             	mov    -0x8(%ebp),%eax
456bdc:	e8 9b 06 00 00       	call   0x45727c
456be1:	eb 0a                	jmp    0x456bed
456be3:	33 d2                	xor    %edx,%edx
456be5:	8b 45 f8             	mov    -0x8(%ebp),%eax
456be8:	e8 8f 06 00 00       	call   0x45727c
456bed:	5e                   	pop    %esi
456bee:	5b                   	pop    %ebx
456bef:	8b e5                	mov    %ebp,%esp
456bf1:	5d                   	pop    %ebp
456bf2:	c3                   	ret
456bf3:	90                   	nop
456bf4:	53                   	push   %ebx
456bf5:	56                   	push   %esi
456bf6:	8b d8                	mov    %eax,%ebx
456bf8:	be 00 00 10 00       	mov    $0x100000,%esi
456bfd:	80 7b 18 01          	cmpb   $0x1,0x18(%ebx)
456c01:	75 05                	jne    0x456c08
456c03:	be 00 00 20 00       	mov    $0x200000,%esi
456c08:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
456c0c:	74 14                	je     0x456c22
456c0e:	6a f0                	push   $0xfffffff0
456c10:	8b 43 04             	mov    0x4(%ebx),%eax
456c13:	e8 d8 f4 fe ff       	call   0x4460f0
456c18:	50                   	push   %eax
456c19:	e8 8e fa fa ff       	call   0x4066ac
456c1e:	85 f0                	test   %esi,%eax
456c20:	75 05                	jne    0x456c27
456c22:	33 c0                	xor    %eax,%eax
456c24:	5e                   	pop    %esi
456c25:	5b                   	pop    %ebx
456c26:	c3                   	ret
456c27:	b0 01                	mov    $0x1,%al
456c29:	5e                   	pop    %esi
456c2a:	5b                   	pop    %ebx
456c2b:	c3                   	ret
456c2c:	55                   	push   %ebp
456c2d:	8b ec                	mov    %esp,%ebp
456c2f:	53                   	push   %ebx
456c30:	bb 00 00 10 00       	mov    $0x100000,%ebx
456c35:	66 83 f8 01          	cmp    $0x1,%ax
456c39:	75 05                	jne    0x456c40
456c3b:	bb 00 00 20 00       	mov    $0x200000,%ebx
456c40:	6a f0                	push   $0xfffffff0
456c42:	8b 45 08             	mov    0x8(%ebp),%eax
456c45:	8b 40 fc             	mov    -0x4(%eax),%eax
456c48:	8b 40 04             	mov    0x4(%eax),%eax
456c4b:	e8 a0 f4 fe ff       	call   0x4460f0
456c50:	50                   	push   %eax
456c51:	e8 56 fa fa ff       	call   0x4066ac
456c56:	85 d8                	test   %ebx,%eax
456c58:	0f 95 c0             	setne  %al
456c5b:	5b                   	pop    %ebx
456c5c:	5d                   	pop    %ebp
456c5d:	c3                   	ret
456c5e:	8b c0                	mov    %eax,%eax
456c60:	55                   	push   %ebp
456c61:	8b ec                	mov    %esp,%ebp
456c63:	53                   	push   %ebx
456c64:	56                   	push   %esi
456c65:	57                   	push   %edi
456c66:	8b fa                	mov    %edx,%edi
456c68:	8b f0                	mov    %eax,%esi
456c6a:	33 db                	xor    %ebx,%ebx
456c6c:	8b 45 08             	mov    0x8(%ebp),%eax
456c6f:	80 78 fb 00          	cmpb   $0x0,-0x5(%eax)
456c73:	75 60                	jne    0x456cd5
456c75:	8b 45 08             	mov    0x8(%ebp),%eax
456c78:	80 78 fa 00          	cmpb   $0x0,-0x6(%eax)
456c7c:	74 29                	je     0x456ca7
456c7e:	8b 45 08             	mov    0x8(%ebp),%eax
456c81:	50                   	push   %eax
456c82:	8b c6                	mov    %esi,%eax
456c84:	e8 a3 ff ff ff       	call   0x456c2c
456c89:	59                   	pop    %ecx
456c8a:	84 c0                	test   %al,%al
456c8c:	75 19                	jne    0x456ca7
456c8e:	0f b7 c7             	movzwl %di,%eax
456c91:	50                   	push   %eax
456c92:	a1 44 db 46 00       	mov    0x46db44,%eax
456c97:	8b 00                	mov    (%eax),%eax
456c99:	ff d0                	call   *%eax
456c9b:	8b d8                	mov    %eax,%ebx