456759:	4e                   	dec    %esi
45675a:	75 e0                	jne    0x45673c
45675c:	33 db                	xor    %ebx,%ebx
45675e:	8b c3                	mov    %ebx,%eax
456760:	5d                   	pop    %ebp
456761:	5f                   	pop    %edi
456762:	5e                   	pop    %esi
456763:	5b                   	pop    %ebx
456764:	c3                   	ret
456765:	8d 40 00             	lea    0x0(%eax),%eax
456768:	53                   	push   %ebx
456769:	56                   	push   %esi
45676a:	8b f0                	mov    %eax,%esi
45676c:	8a 1d b8 67 45 00    	mov    0x4567b8,%bl
456772:	66 f7 c6 04 00       	test   $0x4,%si
456777:	74 03                	je     0x45677c
456779:	80 cb 01             	or     $0x1,%bl
45677c:	66 f7 c6 08 00       	test   $0x8,%si
456781:	74 03                	je     0x456786
456783:	80 cb 04             	or     $0x4,%bl
456786:	66 f7 c6 01 00       	test   $0x1,%si
45678b:	74 03                	je     0x456790
45678d:	80 cb 08             	or     $0x8,%bl
456790:	66 f7 c6 02 00       	test   $0x2,%si
456795:	74 03                	je     0x45679a
456797:	80 cb 10             	or     $0x10,%bl
45679a:	66 f7 c6 10 00       	test   $0x10,%si
45679f:	74 03                	je     0x4567a4
4567a1:	80 cb 20             	or     $0x20,%bl
4567a4:	6a 12                	push   $0x12
4567a6:	e8 31 fe fa ff       	call   0x4065dc
4567ab:	66 85 c0             	test   %ax,%ax
4567ae:	7d 03                	jge    0x4567b3
4567b0:	80 cb 02             	or     $0x2,%bl
4567b3:	8b c3                	mov    %ebx,%eax
4567b5:	5e                   	pop    %esi
4567b6:	5b                   	pop    %ebx
4567b7:	c3                   	ret
4567b8:	00 00                	add    %al,(%eax)
4567ba:	00 00                	add    %al,(%eax)
4567bc:	53                   	push   %ebx
4567bd:	56                   	push   %esi
4567be:	8b f0                	mov    %eax,%esi
4567c0:	8a 1d f4 67 45 00    	mov    0x4567f4,%bl
4567c6:	6a 10                	push   $0x10
4567c8:	e8 0f fe fa ff       	call   0x4065dc
4567cd:	66 85 c0             	test   %ax,%ax
4567d0:	7d 03                	jge    0x4567d5
4567d2:	80 cb 01             	or     $0x1,%bl
4567d5:	6a 11                	push   $0x11
4567d7:	e8 00 fe fa ff       	call   0x4065dc
4567dc:	66 85 c0             	test   %ax,%ax
4567df:	7d 03                	jge    0x4567e4
4567e1:	80 cb 04             	or     $0x4,%bl
4567e4:	f7 c6 00 00 00 20    	test   $0x20000000,%esi
4567ea:	74 03                	je     0x4567ef
4567ec:	80 cb 02             	or     $0x2,%bl
4567ef:	8b c3                	mov    %ebx,%eax
4567f1:	5e                   	pop    %esi
4567f2:	5b                   	pop    %ebx
4567f3:	c3                   	ret
4567f4:	00 00                	add    %al,(%eax)
4567f6:	00 00                	add    %al,(%eax)
4567f8:	53                   	push   %ebx
4567f9:	56                   	push   %esi
4567fa:	8b f0                	mov    %eax,%esi
4567fc:	8a 1d 40 68 45 00    	mov    0x456840,%bl
456802:	f6 46 10 80          	testb  $0x80,0x10(%esi)
456806:	74 03                	je     0x45680b
456808:	80 cb 01             	or     $0x1,%bl
45680b:	f6 46 11 80          	testb  $0x80,0x11(%esi)
45680f:	74 03                	je     0x456814
456811:	80 cb 04             	or     $0x4,%bl
456814:	f6 46 12 80          	testb  $0x80,0x12(%esi)
456818:	74 03                	je     0x45681d
45681a:	80 cb 02             	or     $0x2,%bl
45681d:	f6 46 01 80          	testb  $0x80,0x1(%esi)
456821:	74 03                	je     0x456826
456823:	80 cb 08             	or     $0x8,%bl
456826:	f6 46 02 80          	testb  $0x80,0x2(%esi)
45682a:	74 03                	je     0x45682f
45682c:	80 cb 10             	or     $0x10,%bl
45682f:	f6 46 04 80          	testb  $0x80,0x4(%esi)
456833:	74 03                	je     0x456838
456835:	80 cb 20             	or     $0x20,%bl
456838:	8b c3                	mov    %ebx,%eax
45683a:	5e                   	pop    %esi
45683b:	5b                   	pop    %ebx
45683c:	c3                   	ret
45683d:	00 00                	add    %al,(%eax)
45683f:	00 00                	add    %al,(%eax)
456841:	00 00                	add    %al,(%eax)
456843:	00 55 8b             	add    %dl,-0x75(%ebp)
456846:	ec                   	in     (%dx),%al
456847:	6a 00                	push   $0x0
456849:	6a 00                	push   $0x0
45684b:	53                   	push   %ebx
45684c:	56                   	push   %esi
45684d:	8b f2                	mov    %edx,%esi
45684f:	8b d8                	mov    %eax,%ebx
456851:	33 c0                	xor    %eax,%eax
456853:	55                   	push   %ebp
456854:	68 a2 68 45 00       	push   $0x4568a2
456859:	64 ff 30             	push   %fs:(%eax)
45685c:	64 89 20             	mov    %esp,%fs:(%eax)
45685f:	8d 55 fc             	lea    -0x4(%ebp),%edx
456862:	8b c6                	mov    %esi,%eax
456864:	e8 97 db ff ff       	call   0x454400
456869:	8b 45 fc             	mov    -0x4(%ebp),%eax
45686c:	50                   	push   %eax
45686d:	8d 45 f8             	lea    -0x8(%ebp),%eax
456870:	8b d3                	mov    %ebx,%edx
456872:	e8 09 d9 fa ff       	call   0x404180
456877:	8b 45 f8             	mov    -0x8(%ebp),%eax
45687a:	5a                   	pop    %edx
45687b:	e8 ac 13 fb ff       	call   0x407c2c
456880:	85 c0                	test   %eax,%eax
456882:	0f 94 c0             	sete   %al
456885:	8b d8                	mov    %eax,%ebx
456887:	33 c0                	xor    %eax,%eax
456889:	5a                   	pop    %edx
45688a:	59                   	pop    %ecx
45688b:	59                   	pop    %ecx
45688c:	64 89 10             	mov    %edx,%fs:(%eax)
45688f:	68 a9 68 45 00       	push   $0x4568a9
456894:	8d 45 f8             	lea    -0x8(%ebp),%eax
456897:	ba 02 00 00 00       	mov    $0x2,%edx
45689c:	e8 1b d7 fa ff       	call   0x403fbc
4568a1:	c3                   	ret
4568a2:	e9 f5 d0 fa ff       	jmp    0x40399c
4568a7:	eb eb                	jmp    0x456894
4568a9:	8b c3                	mov    %ebx,%eax
4568ab:	5e                   	pop    %esi
4568ac:	5b                   	pop    %ebx
4568ad:	59                   	pop    %ecx
4568ae:	59                   	pop    %ecx
4568af:	5d                   	pop    %ebp
4568b0:	c3                   	ret
4568b1:	8d 40 00             	lea    0x0(%eax),%eax
4568b4:	53                   	push   %ebx
4568b5:	8b d8                	mov    %eax,%ebx
4568b7:	eb 02                	jmp    0x4568bb
4568b9:	8b d8                	mov    %eax,%ebx
4568bb:	8b 43 30             	mov    0x30(%ebx),%eax
4568be:	85 c0                	test   %eax,%eax
4568c0:	75 f7                	jne    0x4568b9
4568c2:	8b c3                	mov    %ebx,%eax
4568c4:	8b 15 78 4f 45 00    	mov    0x454f78,%edx
4568ca:	e8 05 cb fa ff       	call   0x4033d4
4568cf:	84 c0                	test   %al,%al
4568d1:	74 04                	je     0x4568d7
4568d3:	8b c3                	mov    %ebx,%eax
4568d5:	5b                   	pop    %ebx
4568d6:	c3                   	ret
4568d7:	33 c0                	xor    %eax,%eax
4568d9:	5b                   	pop    %ebx
4568da:	c3                   	ret
4568db:	90                   	nop
4568dc:	55                   	push   %ebp
4568dd:	8b ec                	mov    %esp,%ebp
4568df:	83 c4 f4             	add    $0xfffffff4,%esp
4568e2:	53                   	push   %ebx
4568e3:	56                   	push   %esi
4568e4:	33 d2                	xor    %edx,%edx
4568e6:	89 55 f4             	mov    %edx,-0xc(%ebp)
4568e9:	8b f0                	mov    %eax,%esi
4568eb:	33 c0                	xor    %eax,%eax
4568ed:	55                   	push   %ebp
4568ee:	68 4d 69 45 00       	push   $0x45694d
4568f3:	64 ff 30             	push   %fs:(%eax)
4568f6:	64 89 20             	mov    %esp,%fs:(%eax)
4568f9:	8b c6                	mov    %esi,%eax
4568fb:	e8 b4 ff ff ff       	call   0x4568b4
456900:	8b d8                	mov    %eax,%ebx
456902:	85 db                	test   %ebx,%ebx
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