4576ec:	25 f0 ff 00 00       	and    $0xfff0,%eax
4576f1:	3d 10 f0 00 00       	cmp    $0xf010,%eax
4576f6:	75 15                	jne    0x45770d
4576f8:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
4576fc:	75 0f                	jne    0x45770d
4576fe:	80 7b 5b 00          	cmpb   $0x0,0x5b(%ebx)
457702:	74 09                	je     0x45770d
457704:	80 bb 2b 02 00 00 01 	cmpb   $0x1,0x22b(%ebx)
45770b:	75 09                	jne    0x457716
45770d:	8b d6                	mov    %esi,%edx
45770f:	8b c3                	mov    %ebx,%eax
457711:	e8 8a a1 fe ff       	call   0x4418a0
457716:	8b 46 04             	mov    0x4(%esi),%eax
457719:	25 f0 ff 00 00       	and    $0xfff0,%eax
45771e:	3d 20 f0 00 00       	cmp    $0xf020,%eax
457723:	74 07                	je     0x45772c
457725:	3d 20 f1 00 00       	cmp    $0xf120,%eax
45772a:	75 17                	jne    0x457743
45772c:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
457730:	75 11                	jne    0x457743
457732:	80 7b 5b 00          	cmpb   $0x0,0x5b(%ebx)
457736:	74 0b                	je     0x457743
457738:	8b c3                	mov    %ebx,%eax
45773a:	66 be d0 ff          	mov    $0xffd0,%si
45773e:	e8 a5 be fa ff       	call   0x4035e8
457743:	5e                   	pop    %esi
457744:	5b                   	pop    %ebx
457745:	c3                   	ret
457746:	8b c0                	mov    %eax,%eax
457748:	53                   	push   %ebx
457749:	56                   	push   %esi
45774a:	8b f2                	mov    %edx,%esi
45774c:	8b d8                	mov    %eax,%ebx
45774e:	8b 46 08             	mov    0x8(%esi),%eax
457751:	48                   	dec    %eax
457752:	74 07                	je     0x45775b
457754:	83 e8 02             	sub    $0x2,%eax
457757:	74 49                	je     0x4577a2
457759:	eb 77                	jmp    0x4577d2
45775b:	8b c3                	mov    %ebx,%eax
45775d:	e8 06 b0 fe ff       	call   0x442768
457762:	50                   	push   %eax
457763:	e8 d0 f6 fa ff       	call   0x406e38
457768:	85 c0                	test   %eax,%eax
45776a:	74 09                	je     0x457775
45776c:	c6 83 2c 02 00 00 02 	movb   $0x2,0x22c(%ebx)
457773:	eb 21                	jmp    0x457796
457775:	8b c3                	mov    %ebx,%eax
457777:	e8 ec af fe ff       	call   0x442768
45777c:	50                   	push   %eax
45777d:	e8 de f6 fa ff       	call   0x406e60
457782:	85 c0                	test   %eax,%eax
457784:	74 09                	je     0x45778f
457786:	c6 83 2c 02 00 00 03 	movb   $0x3,0x22c(%ebx)
45778d:	eb 07                	jmp    0x457796
45778f:	c6 83 2c 02 00 00 01 	movb   $0x1,0x22c(%ebx)
457796:	8b d6                	mov    %esi,%edx
457798:	8b c3                	mov    %ebx,%eax
45779a:	8b 08                	mov    (%eax),%ecx
45779c:	ff 51 f0             	call   *-0x10(%ecx)
45779f:	5e                   	pop    %esi
4577a0:	5b                   	pop    %ebx
4577a1:	c3                   	ret
4577a2:	80 bb 2c 02 00 00 00 	cmpb   $0x0,0x22c(%ebx)
4577a9:	74 30                	je     0x4577db
4577ab:	33 c0                	xor    %eax,%eax
4577ad:	8a 83 2c 02 00 00    	mov    0x22c(%ebx),%al
4577b3:	8b 04 85 f4 de 48 00 	mov    0x48def4(,%eax,4),%eax
4577ba:	50                   	push   %eax
4577bb:	8b c3                	mov    %ebx,%eax
4577bd:	e8 a6 af fe ff       	call   0x442768
4577c2:	50                   	push   %eax
4577c3:	e8 30 f8 fa ff       	call   0x406ff8
4577c8:	c6 83 2c 02 00 00 00 	movb   $0x0,0x22c(%ebx)
4577cf:	5e                   	pop    %esi
4577d0:	5b                   	pop    %ebx
4577d1:	c3                   	ret
4577d2:	8b d6                	mov    %esi,%edx
4577d4:	8b c3                	mov    %ebx,%eax
4577d6:	8b 08                	mov    (%eax),%ecx
4577d8:	ff 51 f0             	call   *-0x10(%ecx)
4577db:	5e                   	pop    %esi
4577dc:	5b                   	pop    %ebx
4577dd:	c3                   	ret
4577de:	8b c0                	mov    %eax,%eax
4577e0:	53                   	push   %ebx
4577e1:	56                   	push   %esi
4577e2:	8b da                	mov    %edx,%ebx
4577e4:	8b f0                	mov    %eax,%esi
4577e6:	8b d3                	mov    %ebx,%edx
4577e8:	8b c6                	mov    %esi,%eax
4577ea:	8b 08                	mov    (%eax),%ecx
4577ec:	ff 51 f0             	call   *-0x10(%ecx)
4577ef:	80 be 2f 02 00 00 01 	cmpb   $0x1,0x22f(%esi)
4577f6:	75 3d                	jne    0x457835
4577f8:	8b c6                	mov    %esi,%eax
4577fa:	e8 69 af fe ff       	call   0x442768
4577ff:	3b 43 08             	cmp    0x8(%ebx),%eax
457802:	0f 94 c0             	sete   %al
457805:	8b d8                	mov    %eax,%ebx
457807:	8b d3                	mov    %ebx,%edx
457809:	8b c6                	mov    %esi,%eax
45780b:	e8 b0 f5 ff ff       	call   0x456dc0
457810:	84 db                	test   %bl,%bl
457812:	74 21                	je     0x457835
457814:	a1 b4 cb 49 00       	mov    0x49cbb4,%eax
457819:	8b 40 44             	mov    0x44(%eax),%eax
45781c:	f6 40 54 04          	testb  $0x4,0x54(%eax)
457820:	74 13                	je     0x457835
457822:	a1 b4 cb 49 00       	mov    0x49cbb4,%eax
457827:	8b 40 44             	mov    0x44(%eax),%eax
45782a:	b2 01                	mov    $0x1,%dl
45782c:	66 be d1 ff          	mov    $0xffd1,%si
457830:	e8 b3 bd fa ff       	call   0x4035e8
457835:	5e                   	pop    %esi
457836:	5b                   	pop    %ebx
457837:	c3                   	ret
457838:	66 83 7a 08 00       	cmpw   $0x0,0x8(%edx)
45783d:	74 0a                	je     0x457849
45783f:	8b 42 04             	mov    0x4(%edx),%eax
457842:	50                   	push   %eax
457843:	e8 20 f7 fa ff       	call   0x406f68
457848:	c3                   	ret
457849:	6a 01                	push   $0x1
45784b:	8b 4a 04             	mov    0x4(%edx),%ecx
45784e:	83 f9 01             	cmp    $0x1,%ecx
457851:	1b c9                	sbb    %ecx,%ecx
457853:	f7 d9                	neg    %ecx
457855:	8b 90 20 02 00 00    	mov    0x220(%eax),%edx
45785b:	e8 98 b3 fe ff       	call   0x442bf8
457860:	c3                   	ret
457861:	8d 40 00             	lea    0x0(%eax),%eax
457864:	53                   	push   %ebx
457865:	56                   	push   %esi
457866:	8b f2                	mov    %edx,%esi
457868:	8b d8                	mov    %eax,%ebx
45786a:	33 d2                	xor    %edx,%edx
45786c:	8b c3                	mov    %ebx,%eax
45786e:	e8 b1 f5 ff ff       	call   0x456e24
457873:	8b d6                	mov    %esi,%edx
457875:	8b c3                	mov    %ebx,%eax
457877:	8b 08                	mov    (%eax),%ecx
457879:	ff 51 f0             	call   *-0x10(%ecx)
45787c:	5e                   	pop    %esi
45787d:	5b                   	pop    %ebx
45787e:	c3                   	ret
45787f:	90                   	nop
457880:	55                   	push   %ebp
457881:	8b ec                	mov    %esp,%ebp
457883:	53                   	push   %ebx
457884:	8b d8                	mov    %eax,%ebx
457886:	33 c0                	xor    %eax,%eax
457888:	85 db                	test   %ebx,%ebx
45788a:	74 2e                	je     0x4578ba
45788c:	8b 45 08             	mov    0x8(%ebp),%eax
45788f:	8b 40 fc             	mov    -0x4(%eax),%eax
457892:	8b 40 08             	mov    0x8(%eax),%eax
457895:	8b 50 08             	mov    0x8(%eax),%edx
457898:	b1 01                	mov    $0x1,%cl
45789a:	8b c3                	mov    %ebx,%eax
45789c:	e8 eb 79 ff ff       	call   0x44f28c
4578a1:	85 c0                	test   %eax,%eax
4578a3:	75 15                	jne    0x4578ba
4578a5:	8b 45 08             	mov    0x8(%ebp),%eax
4578a8:	8b 40 fc             	mov    -0x4(%eax),%eax
4578ab:	8b 40 08             	mov    0x8(%eax),%eax
4578ae:	8b 50 0c             	mov    0xc(%eax),%edx
4578b1:	33 c9                	xor    %ecx,%ecx
4578b3:	8b c3                	mov    %ebx,%eax
4578b5:	e8 d2 79 ff ff       	call   0x44f28c
4578ba:	5b                   	pop    %ebx
4578bb:	5d                   	pop    %ebp
4578bc:	c3                   	ret
4578bd:	8d 40 00             	lea    0x0(%eax),%eax
4578c0:	53                   	push   %ebx
4578c1:	56                   	push   %esi
4578c2:	8b f0                	mov    %eax,%esi
4578c4:	33 db                	xor    %ebx,%ebx
4578c6:	80 be 50 01 00 00 01 	cmpb   $0x1,0x150(%esi)
4578cd:	75 0d                	jne    0x4578dc
4578cf:	83 be 58 01 00 00 00 	cmpl   $0x0,0x158(%esi)
4578d6:	74 04                	je     0x4578dc
4578d8:	b3 01                	mov    $0x1,%bl
4578da:	eb 14                	jmp    0x4578f0
4578dc:	80 be 50 01 00 00 00 	cmpb   $0x0,0x150(%esi)
4578e3:	75 0b                	jne    0x4578f0
4578e5:	83 be 54 01 00 00 00 	cmpl   $0x0,0x154(%esi)
4578ec:	74 02                	je     0x4578f0
4578ee:	b3 01                	mov    $0x1,%bl
4578f0:	8b c3                	mov    %ebx,%eax
4578f2:	5e                   	pop    %esi
4578f3:	5b                   	pop    %ebx
4578f4:	c3                   	ret
4578f5:	8d 40 00             	lea    0x0(%eax),%eax
4578f8:	55                   	push   %ebp
4578f9:	8b ec                	mov    %esp,%ebp
4578fb:	53                   	push   %ebx
4578fc:	8b d8                	mov    %eax,%ebx
4578fe:	80 bb 50 01 00 00 01 	cmpb   $0x1,0x150(%ebx)
457905:	75 0d                	jne    0x457914
457907:	c6 02 01             	movb   $0x1,(%edx)
45790a:	8b 83 58 01 00 00    	mov    0x158(%ebx),%eax
457910:	89 01                	mov    %eax,(%ecx)
457912:	eb 11                	jmp    0x457925
457914:	c6 02 00             	movb   $0x0,(%edx)
457917:	8b 45 08             	mov    0x8(%ebp),%eax
45791a:	8b 93 54 01 00 00    	mov    0x154(%ebx),%edx
457920:	e8 93 c8 fa ff       	call   0x4041b8
457925:	5b                   	pop    %ebx
457926:	5d                   	pop    %ebp
457927:	c2 04 00             	ret    $0x4
45792a:	8b c0                	mov    %eax,%eax
45792c:	55                   	push   %ebp
45792d:	8b ec                	mov    %esp,%ebp
45792f:	83 c4 dc             	add    $0xffffffdc,%esp
457932:	53                   	push   %ebx
457933:	56                   	push   %esi
457934:	33 c9                	xor    %ecx,%ecx
457936:	89 4d f0             	mov    %ecx,-0x10(%ebp)
457939:	89 55 fc             	mov    %edx,-0x4(%ebp)
45793c:	8b f0                	mov    %eax,%esi
45793e:	33 c0                	xor    %eax,%eax
457940:	55                   	push   %ebp
457941:	68 7d 7a 45 00       	push   $0x457a7d
457946:	64 ff 30             	push   %fs:(%eax)
457949:	64 89 20             	mov    %esp,%fs:(%eax)
45794c:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
457950:	0f 85 11 01 00 00    	jne    0x457a67
457956:	8b 45 fc             	mov    -0x4(%ebp),%eax
457959:	8b 40 08             	mov    0x8(%eax),%eax
45795c:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
457960:	75 5d                	jne    0x4579bf
457962:	8b 40 0c             	mov    0xc(%eax),%eax
457965:	e8 2a 15 fe ff       	call   0x438e94
45796a:	8b d8                	mov    %eax,%ebx
45796c:	eb 03                	jmp    0x457971
45796e:	8b 5b 30             	mov    0x30(%ebx),%ebx
457971:	85 db                	test   %ebx,%ebx
457973:	74 0b                	je     0x457980
457975:	8b c3                	mov    %ebx,%eax
457977:	e8 44 ff ff ff       	call   0x4578c0
45797c:	84 c0                	test   %al,%al
45797e:	74 ee                	je     0x45796e
457980:	85 db                	test   %ebx,%ebx
457982:	0f 84 df 00 00 00    	je     0x457a67
457988:	8d 45 f0             	lea    -0x10(%ebp),%eax
45798b:	50                   	push   %eax
45798c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
45798f:	8d 55 f7             	lea    -0x9(%ebp),%edx
457992:	8b c3                	mov    %ebx,%eax
457994:	e8 5f ff ff ff       	call   0x4578f8
457999:	8d 4d dc             	lea    -0x24(%ebp),%ecx
45799c:	33 d2                	xor    %edx,%edx
45799e:	33 c0                	xor    %eax,%eax
4579a0:	e8 e7 2d fc ff       	call   0x41a78c
4579a5:	8d 55 dc             	lea    -0x24(%ebp),%edx
4579a8:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4579ab:	8b c3                	mov    %ebx,%eax
4579ad:	e8 6e 41 fe ff       	call   0x43bb20
4579b2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4579b5:	e8 0e f7 fa ff       	call   0x4070c8
4579ba:	89 45 ec             	mov    %eax,-0x14(%ebp)
4579bd:	eb 4b                	jmp    0x457a0a
4579bf:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
4579c3:	55                   	push   %ebp
4579c4:	8b 86 48 02 00 00    	mov    0x248(%esi),%eax
4579ca:	e8 b1 fe ff ff       	call   0x457880
4579cf:	59                   	pop    %ecx
4579d0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4579d3:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4579d7:	75 0d                	jne    0x4579e6
4579d9:	55                   	push   %ebp
4579da:	8b 46 7c             	mov    0x7c(%esi),%eax
4579dd:	e8 9e fe ff ff       	call   0x457880
4579e2:	59                   	pop    %ecx
4579e3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4579e6:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4579e9:	33 d2                	xor    %edx,%edx
4579eb:	33 c0                	xor    %eax,%eax
4579ed:	e8 9a 2d fc ff       	call   0x41a78c
4579f2:	8d 55 dc             	lea    -0x24(%ebp),%edx
4579f5:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4579f8:	8b c6                	mov    %esi,%eax
4579fa:	e8 21 41 fe ff       	call   0x43bb20
4579ff:	8d 45 e4             	lea    -0x1c(%ebp),%eax
457a02:	e8 c1 f6 fa ff       	call   0x4070c8
457a07:	89 45 ec             	mov    %eax,-0x14(%ebp)
457a0a:	f6 86 28 02 00 00 08 	testb  $0x8,0x228(%esi)
457a11:	74 2c                	je     0x457a3f
457a13:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
457a17:	75 26                	jne    0x457a3f
457a19:	8b 4d ec             	mov    -0x14(%ebp),%ecx
457a1c:	ba 0d 00 00 00       	mov    $0xd,%edx
457a21:	a1 b4 cb 49 00       	mov    0x49cbb4,%eax
457a26:	e8 cd 45 00 00       	call   0x45bff8
457a2b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
457a2e:	ba 08 00 00 00       	mov    $0x8,%edx
457a33:	a1 b4 cb 49 00       	mov    0x49cbb4,%eax
457a38:	e8 bb 45 00 00       	call   0x45bff8
457a3d:	eb 28                	jmp    0x457a67
457a3f:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
457a43:	75 0f                	jne    0x457a54
457a45:	8b 55 f8             	mov    -0x8(%ebp),%edx
457a48:	a1 b4 cb 49 00       	mov    0x49cbb4,%eax
457a4d:	e8 3e 45 00 00       	call   0x45bf90
457a52:	eb 13                	jmp    0x457a67
457a54:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
457a58:	75 0d                	jne    0x457a67
457a5a:	8b 55 f0             	mov    -0x10(%ebp),%edx
457a5d:	a1 b4 cb 49 00       	mov    0x49cbb4,%eax
457a62:	e8 c1 44 00 00       	call   0x45bf28
457a67:	33 c0                	xor    %eax,%eax
457a69:	5a                   	pop    %edx
457a6a:	59                   	pop    %ecx
457a6b:	59                   	pop    %ecx
457a6c:	64 89 10             	mov    %edx,%fs:(%eax)
457a6f:	68 84 7a 45 00       	push   $0x457a84
457a74:	8d 45 f0             	lea    -0x10(%ebp),%eax
457a77:	e8 e8 c6 fa ff       	call   0x404164
457a7c:	c3                   	ret
457a7d:	e9 e6 c0 fa ff       	jmp    0x403b68
457a82:	eb f0                	jmp    0x457a74
457a84:	5e                   	pop    %esi
457a85:	5b                   	pop    %ebx
457a86:	8b e5                	mov    %ebp,%esp
457a88:	5d                   	pop    %ebp
457a89:	c3                   	ret
457a8a:	8b c0                	mov    %eax,%eax
457a8c:	53                   	push   %ebx
457a8d:	56                   	push   %esi
457a8e:	51                   	push   %ecx
457a8f:	89 14 24             	mov    %edx,(%esp)
457a92:	8b f0                	mov    %eax,%esi
457a94:	f6 46 1c 02          	testb  $0x2,0x1c(%esi)
457a98:	75 55                	jne    0x457aef
457a9a:	80 be 2a 02 00 00 00 	cmpb   $0x0,0x22a(%esi)
457aa1:	74 4c                	je     0x457aef
457aa3:	8b 14 24             	mov    (%esp),%edx
457aa6:	8b 52 08             	mov    0x8(%edx),%edx
457aa9:	8b 46 74             	mov    0x74(%esi),%eax
457aac:	8d 4a 18             	lea    0x18(%edx),%ecx
457aaf:	8b 58 14             	mov    0x14(%eax),%ebx
457ab2:	85 db                	test   %ebx,%ebx
457ab4:	76 02                	jbe    0x457ab8
457ab6:	89 19                	mov    %ebx,(%ecx)
457ab8:	8b 58 10             	mov    0x10(%eax),%ebx
457abb:	85 db                	test   %ebx,%ebx
457abd:	76 03                	jbe    0x457ac2
457abf:	89 59 04             	mov    %ebx,0x4(%ecx)
457ac2:	8d 4a 20             	lea    0x20(%edx),%ecx