456803:	8a 56 40             	mov    0x40(%esi),%dl
456806:	8b c3                	mov    %ebx,%eax
456808:	e8 f7 00 00 00       	call   0x456904
45680d:	8a 46 42             	mov    0x42(%esi),%al
456810:	88 43 42             	mov    %al,0x42(%ebx)
456813:	8b 46 48             	mov    0x48(%esi),%eax
456816:	89 43 48             	mov    %eax,0x48(%ebx)
456819:	8b c3                	mov    %ebx,%eax
45681b:	e8 94 fa ff ff       	call   0x4562b4
456820:	8b c6                	mov    %esi,%eax
456822:	e8 c5 f3 ff ff       	call   0x455bec
456827:	8b d0                	mov    %eax,%edx
456829:	8b c3                	mov    %ebx,%eax
45682b:	e8 c0 f2 ff ff       	call   0x455af0
456830:	8b c3                	mov    %ebx,%eax
456832:	e8 e1 f1 ff ff       	call   0x455a18
456837:	84 c0                	test   %al,%al
456839:	75 09                	jne    0x456844
45683b:	8b c3                	mov    %ebx,%eax
45683d:	e8 de f1 ff ff       	call   0x455a20
456842:	eb 15                	jmp    0x456859
456844:	8b 43 30             	mov    0x30(%ebx),%eax
456847:	50                   	push   %eax
456848:	8b 43 34             	mov    0x34(%ebx),%eax
45684b:	50                   	push   %eax
45684c:	8b c3                	mov    %ebx,%eax
45684e:	e8 99 f3 ff ff       	call   0x455bec
456853:	50                   	push   %eax
456854:	e8 77 96 fd ff       	call   0x42fed0
456859:	8b c6                	mov    %esi,%eax
45685b:	e8 8c f3 ff ff       	call   0x455bec
456860:	50                   	push   %eax
456861:	e8 a2 95 fd ff       	call   0x42fe08
456866:	e8 c9 ef ff ff       	call   0x455834
45686b:	8b d0                	mov    %eax,%edx
45686d:	8b c3                	mov    %ebx,%eax
45686f:	e8 4c fa ff ff       	call   0x4562c0
456874:	8b d6                	mov    %esi,%edx
456876:	8b c3                	mov    %ebx,%eax
456878:	e8 7f fe ff ff       	call   0x4566fc
45687d:	5e                   	pop    %esi
45687e:	5b                   	pop    %ebx
45687f:	c3                   	ret
456880:	8b d3                	mov    %ebx,%edx
456882:	8b c6                	mov    %esi,%eax
456884:	e8 a3 5f fc ff       	call   0x41c82c
456889:	5e                   	pop    %esi
45688a:	5b                   	pop    %ebx
45688b:	c3                   	ret
45688c:	55                   	push   %ebp
45688d:	8b ec                	mov    %esp,%ebp
45688f:	6a 00                	push   $0x0
456891:	53                   	push   %ebx
456892:	56                   	push   %esi
456893:	8b f2                	mov    %edx,%esi
456895:	8b d8                	mov    %eax,%ebx
456897:	33 c0                	xor    %eax,%eax
456899:	55                   	push   %ebp
45689a:	68 f8 68 45 00       	push   $0x4568f8
45689f:	64 ff 30             	push   %fs:(%eax)
4568a2:	64 89 20             	mov    %esp,%fs:(%eax)
4568a5:	85 f6                	test   %esi,%esi
4568a7:	74 39                	je     0x4568e2
4568a9:	8b c6                	mov    %esi,%eax
4568ab:	8b 10                	mov    (%eax),%edx
4568ad:	ff 52 20             	call   *0x20(%edx)
4568b0:	3b 43 30             	cmp    0x30(%ebx),%eax
4568b3:	7c 0c                	jl     0x4568c1
4568b5:	8b c6                	mov    %esi,%eax
4568b7:	8b 10                	mov    (%eax),%edx
4568b9:	ff 52 2c             	call   *0x2c(%edx)
4568bc:	3b 43 34             	cmp    0x34(%ebx),%eax
4568bf:	7d 21                	jge    0x4568e2
4568c1:	8d 55 fc             	lea    -0x4(%ebp),%edx
4568c4:	a1 a0 6d 6a 00       	mov    0x6a6da0,%eax
4568c9:	e8 4e 04 fb ff       	call   0x406d1c
4568ce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4568d1:	b2 01                	mov    $0x1,%dl
4568d3:	a1 c4 93 41 00       	mov    0x4193c4,%eax
4568d8:	e8 6b 65 fb ff       	call   0x40ce48
4568dd:	e8 62 d9 fa ff       	call   0x404244
4568e2:	33 c0                	xor    %eax,%eax
4568e4:	5a                   	pop    %edx
4568e5:	59                   	pop    %ecx
4568e6:	59                   	pop    %ecx
4568e7:	64 89 10             	mov    %edx,%fs:(%eax)
4568ea:	68 ff 68 45 00       	push   $0x4568ff
4568ef:	8d 45 fc             	lea    -0x4(%ebp),%eax
4568f2:	e8 71 df fa ff       	call   0x404868
4568f7:	c3                   	ret
4568f8:	e9 0f d9 fa ff       	jmp    0x40420c
4568fd:	eb f0                	jmp    0x4568ef
4568ff:	5e                   	pop    %esi
456900:	5b                   	pop    %ebx
456901:	59                   	pop    %ecx
456902:	5d                   	pop    %ebp
456903:	c3                   	ret
456904:	56                   	push   %esi
456905:	8b f0                	mov    %eax,%esi
456907:	3a 56 40             	cmp    0x40(%esi),%dl
45690a:	74 0e                	je     0x45691a
45690c:	88 56 40             	mov    %dl,0x40(%esi)
45690f:	8b c6                	mov    %esi,%eax
456911:	66 be ef ff          	mov    $0xffef,%si
456915:	e8 5a d3 fa ff       	call   0x403c74
45691a:	5e                   	pop    %esi
45691b:	c3                   	ret
45691c:	53                   	push   %ebx
45691d:	8b da                	mov    %edx,%ebx
45691f:	8b cb                	mov    %ebx,%ecx
456921:	33 d2                	xor    %edx,%edx
456923:	33 c0                	xor    %eax,%eax
456925:	e8 22 3d fc ff       	call   0x41a64c
45692a:	5b                   	pop    %ebx
45692b:	c3                   	ret
45692c:	53                   	push   %ebx
45692d:	56                   	push   %esi
45692e:	57                   	push   %edi
45692f:	55                   	push   %ebp
456930:	8b d8                	mov    %eax,%ebx
456932:	c6 43 58 01          	movb   $0x1,0x58(%ebx)
456936:	83 7b 5c 00          	cmpl   $0x0,0x5c(%ebx)
45693a:	7f 38                	jg     0x456974
45693c:	8b 43 4c             	mov    0x4c(%ebx),%eax
45693f:	85 c0                	test   %eax,%eax
456941:	74 22                	je     0x456965
456943:	8b 78 08             	mov    0x8(%eax),%edi
456946:	4f                   	dec    %edi
456947:	85 ff                	test   %edi,%edi
456949:	7c 1a                	jl     0x456965
45694b:	47                   	inc    %edi
45694c:	33 ed                	xor    %ebp,%ebp
45694e:	8b d5                	mov    %ebp,%edx
456950:	8b 43 4c             	mov    0x4c(%ebx),%eax
456953:	e8 68 54 fc ff       	call   0x41bdc0
456958:	66 be ff ff          	mov    $0xffff,%si
45695c:	e8 13 d3 fa ff       	call   0x403c74
456961:	45                   	inc    %ebp
456962:	4f                   	dec    %edi
456963:	75 e9                	jne    0x45694e
456965:	66 83 7b 62 00       	cmpw   $0x0,0x62(%ebx)
45696a:	74 08                	je     0x456974
45696c:	8b d3                	mov    %ebx,%edx
45696e:	8b 43 64             	mov    0x64(%ebx),%eax
456971:	ff 53 60             	call   *0x60(%ebx)
456974:	5d                   	pop    %ebp
456975:	5f                   	pop    %edi
456976:	5e                   	pop    %esi
456977:	5b                   	pop    %ebx
456978:	c3                   	ret
456979:	8d 40 00             	lea    0x0(%eax),%eax
45697c:	53                   	push   %ebx
45697d:	56                   	push   %esi
45697e:	57                   	push   %edi
45697f:	55                   	push   %ebp
456980:	8b ea                	mov    %edx,%ebp
456982:	8b d8                	mov    %eax,%ebx
456984:	8b 43 4c             	mov    0x4c(%ebx),%eax
456987:	85 c0                	test   %eax,%eax
456989:	74 2e                	je     0x4569b9
45698b:	8b 78 08             	mov    0x8(%eax),%edi
45698e:	4f                   	dec    %edi
45698f:	85 ff                	test   %edi,%edi
456991:	7c 26                	jl     0x4569b9
456993:	47                   	inc    %edi
456994:	33 f6                	xor    %esi,%esi
456996:	8b d6                	mov    %esi,%edx
456998:	8b 43 4c             	mov    0x4c(%ebx),%eax
45699b:	e8 20 54 fc ff       	call   0x41bdc0
4569a0:	3b e8                	cmp    %eax,%ebp
4569a2:	75 11                	jne    0x4569b5
4569a4:	33 c0                	xor    %eax,%eax
4569a6:	89 45 04             	mov    %eax,0x4(%ebp)
4569a9:	8b d6                	mov    %esi,%edx
4569ab:	8b 43 4c             	mov    0x4c(%ebx),%eax
4569ae:	e8 ad 52 fc ff       	call   0x41bc60
4569b3:	eb 04                	jmp    0x4569b9
4569b5:	46                   	inc    %esi
4569b6:	4f                   	dec    %edi
4569b7:	75 dd                	jne    0x456996
4569b9:	5d                   	pop    %ebp
4569ba:	5f                   	pop    %edi
4569bb:	5e                   	pop    %esi
4569bc:	5b                   	pop    %ebx
4569bd:	c3                   	ret
4569be:	8b c0                	mov    %eax,%eax
4569c0:	89 42 04             	mov    %eax,0x4(%edx)
4569c3:	8b 48 4c             	mov    0x4c(%eax),%ecx
4569c6:	85 c9                	test   %ecx,%ecx
4569c8:	74 07                	je     0x4569d1
4569ca:	8b c1                	mov    %ecx,%eax
4569cc:	e8 43 52 fc ff       	call   0x41bc14
4569d1:	c3                   	ret
4569d2:	8b c0                	mov    %eax,%eax
4569d4:	53                   	push   %ebx
4569d5:	56                   	push   %esi
4569d6:	8b f2                	mov    %edx,%esi
4569d8:	8b d8                	mov    %eax,%ebx
4569da:	8b c3                	mov    %ebx,%eax
4569dc:	e8 0b 7d fc ff       	call   0x41e6ec
4569e1:	52                   	push   %edx
4569e2:	50                   	push   %eax
4569e3:	8b c6                	mov    %esi,%eax
4569e5:	e8 02 7d fc ff       	call   0x41e6ec
4569ea:	3b 54 24 04          	cmp    0x4(%esp),%edx
4569ee:	75 03                	jne    0x4569f3
4569f0:	3b 04 24             	cmp    (%esp),%eax
4569f3:	5a                   	pop    %edx
4569f4:	58                   	pop    %eax
4569f5:	75 18                	jne    0x456a0f
4569f7:	8b c3                	mov    %ebx,%eax
4569f9:	e8 ee 7c fc ff       	call   0x41e6ec
4569fe:	8b c8                	mov    %eax,%ecx
456a00:	8b 56 04             	mov    0x4(%esi),%edx
456a03:	8b 43 04             	mov    0x4(%ebx),%eax
456a06:	e8 d5 27 fb ff       	call   0x4091e0
456a0b:	84 c0                	test   %al,%al
456a0d:	75 05                	jne    0x456a14
456a0f:	33 c0                	xor    %eax,%eax
456a11:	5e                   	pop    %esi
456a12:	5b                   	pop    %ebx
456a13:	c3                   	ret
456a14:	b0 01                	mov    $0x1,%al
456a16:	5e                   	pop    %esi
456a17:	5b                   	pop    %ebx
456a18:	c3                   	ret
456a19:	8d 40 00             	lea    0x0(%eax),%eax
456a1c:	55                   	push   %ebp
456a1d:	8b ec                	mov    %esp,%ebp
456a1f:	83 c4 f4             	add    $0xfffffff4,%esp
456a22:	53                   	push   %ebx
456a23:	56                   	push   %esi
456a24:	57                   	push   %edi
456a25:	8b f2                	mov    %edx,%esi
456a27:	8b d8                	mov    %eax,%ebx
456a29:	85 f6                	test   %esi,%esi
456a2b:	74 14                	je     0x456a41
456a2d:	8b c3                	mov    %ebx,%eax
456a2f:	e8 a8 f5 ff ff       	call   0x455fdc
456a34:	8b f8                	mov    %eax,%edi
456a36:	8b c6                	mov    %esi,%eax
456a38:	e8 9f f5 ff ff       	call   0x455fdc
456a3d:	3b f8                	cmp    %eax,%edi
456a3f:	74 09                	je     0x456a4a
456a41:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
456a45:	e9 b5 00 00 00       	jmp    0x456aff
456a4a:	8b c3                	mov    %ebx,%eax
456a4c:	e8 8b f5 ff ff       	call   0x455fdc
456a51:	85 c0                	test   %eax,%eax
456a53:	75 14                	jne    0x456a69
456a55:	8b c6                	mov    %esi,%eax
456a57:	e8 80 f5 ff ff       	call   0x455fdc
456a5c:	85 c0                	test   %eax,%eax
456a5e:	75 09                	jne    0x456a69
456a60:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
456a64:	e9 96 00 00 00       	jmp    0x456aff
456a69:	b2 01                	mov    $0x1,%dl
456a6b:	a1 78 9d 41 00       	mov    0x419d78,%eax
456a70:	e8 d3 cf fa ff       	call   0x403a48
456a75:	89 45 f8             	mov    %eax,-0x8(%ebp)
456a78:	33 c0                	xor    %eax,%eax
456a7a:	55                   	push   %ebp
456a7b:	68 f8 6a 45 00       	push   $0x456af8
456a80:	64 ff 30             	push   %fs:(%eax)
456a83:	64 89 20             	mov    %esp,%fs:(%eax)
456a86:	8b 55 f8             	mov    -0x8(%ebp),%edx
456a89:	8b c3                	mov    %ebx,%eax
456a8b:	e8 18 06 00 00       	call   0x4570a8
456a90:	b2 01                	mov    $0x1,%dl
456a92:	a1 78 9d 41 00       	mov    0x419d78,%eax
456a97:	e8 ac cf fa ff       	call   0x403a48
456a9c:	89 45 f4             	mov    %eax,-0xc(%ebp)
456a9f:	33 c0                	xor    %eax,%eax
456aa1:	55                   	push   %ebp
456aa2:	68 db 6a 45 00       	push   $0x456adb
456aa7:	64 ff 30             	push   %fs:(%eax)
456aaa:	64 89 20             	mov    %esp,%fs:(%eax)
456aad:	8b 55 f4             	mov    -0xc(%ebp),%edx
456ab0:	8b c6                	mov    %esi,%eax
456ab2:	e8 f1 05 00 00       	call   0x4570a8
456ab7:	8b 55 f4             	mov    -0xc(%ebp),%edx
456aba:	8b 45 f8             	mov    -0x8(%ebp),%eax
456abd:	e8 12 ff ff ff       	call   0x4569d4
456ac2:	88 45 ff             	mov    %al,-0x1(%ebp)
456ac5:	33 c0                	xor    %eax,%eax
456ac7:	5a                   	pop    %edx
456ac8:	59                   	pop    %ecx
456ac9:	59                   	pop    %ecx
456aca:	64 89 10             	mov    %edx,%fs:(%eax)
456acd:	68 e2 6a 45 00       	push   $0x456ae2
456ad2:	8b 45 f4             	mov    -0xc(%ebp),%eax
456ad5:	e8 9e cf fa ff       	call   0x403a78
456ada:	c3                   	ret
456adb:	e9 2c d7 fa ff       	jmp    0x40420c
456ae0:	eb f0                	jmp    0x456ad2
456ae2:	33 c0                	xor    %eax,%eax
456ae4:	5a                   	pop    %edx
456ae5:	59                   	pop    %ecx
456ae6:	59                   	pop    %ecx
456ae7:	64 89 10             	mov    %edx,%fs:(%eax)
456aea:	68 ff 6a 45 00       	push   $0x456aff
456aef:	8b 45 f8             	mov    -0x8(%ebp),%eax
456af2:	e8 81 cf fa ff       	call   0x403a78
456af7:	c3                   	ret
456af8:	e9 0f d7 fa ff       	jmp    0x40420c
456afd:	eb f0                	jmp    0x456aef
456aff:	8a 45 ff             	mov    -0x1(%ebp),%al
456b02:	5f                   	pop    %edi
456b03:	5e                   	pop    %esi
456b04:	5b                   	pop    %ebx
456b05:	8b e5                	mov    %ebp,%esp
456b07:	5d                   	pop    %ebp
456b08:	c3                   	ret
456b09:	8d 40 00             	lea    0x0(%eax),%eax
456b0c:	55                   	push   %ebp
456b0d:	8b ec                	mov    %esp,%ebp
456b0f:	53                   	push   %ebx
456b10:	8b 45 08             	mov    0x8(%ebp),%eax
456b13:	8b 40 fc             	mov    -0x4(%eax),%eax
456b16:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
456b1a:	74 37                	je     0x456b53
456b1c:	8b 45 08             	mov    0x8(%ebp),%eax
456b1f:	8b 40 fc             	mov    -0x4(%eax),%eax
456b22:	8b 58 20             	mov    0x20(%eax),%ebx
456b25:	8b c3                	mov    %ebx,%eax
456b27:	8b 15 44 57 45 00    	mov    0x455744,%edx
456b2d:	e8 d2 d0 fa ff       	call   0x403c04
456b32:	84 c0                	test   %al,%al
456b34:	74 18                	je     0x456b4e
456b36:	8b 45 08             	mov    0x8(%ebp),%eax
456b39:	8b d3                	mov    %ebx,%edx
456b3b:	8b 45 08             	mov    0x8(%ebp),%eax
456b3e:	8b 40 f8             	mov    -0x8(%eax),%eax
456b41:	e8 d6 fe ff ff       	call   0x456a1c
456b46:	84 c0                	test   %al,%al
456b48:	74 04                	je     0x456b4e
456b4a:	33 c0                	xor    %eax,%eax
456b4c:	eb 15                	jmp    0x456b63
456b4e:	b0 01                	mov    $0x1,%al
456b50:	5b                   	pop    %ebx
456b51:	5d                   	pop    %ebp
456b52:	c3                   	ret
456b53:	8b 45 08             	mov    0x8(%ebp),%eax
456b56:	8b 40 f8             	mov    -0x8(%eax),%eax
456b59:	e8 7e f4 ff ff       	call   0x455fdc
456b5e:	85 c0                	test   %eax,%eax
456b60:	0f 9f c0             	setg   %al
456b63:	5b                   	pop    %ebx
456b64:	5d                   	pop    %ebp
456b65:	c3                   	ret