453705:	66 f7 c7 02 00       	test   $0x2,%di
45370a:	74 0f                	je     0x45371b
45370c:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
453710:	7d 37                	jge    0x453749
453712:	c7 45 f4 fe ff ff ff 	movl   $0xfffffffe,-0xc(%ebp)
453719:	eb 2e                	jmp    0x453749
45371b:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45371f:	7d 0c                	jge    0x45372d
453721:	89 75 f4             	mov    %esi,-0xc(%ebp)
453724:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
45372b:	eb 07                	jmp    0x453734
45372d:	c7 43 0c 03 00 00 00 	movl   $0x3,0xc(%ebx)
453734:	66 f7 c7 80 00       	test   $0x80,%di
453739:	74 05                	je     0x453740
45373b:	89 75 f0             	mov    %esi,-0x10(%ebp)
45373e:	eb 09                	jmp    0x453749
453740:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
453744:	7c 03                	jl     0x453749
453746:	89 75 ec             	mov    %esi,-0x14(%ebp)
453749:	46                   	inc    %esi
45374a:	ff 4d e8             	decl   -0x18(%ebp)
45374d:	75 8f                	jne    0x4536de
45374f:	83 7d f4 ff          	cmpl   $0xffffffff,-0xc(%ebp)
453753:	7d 0c                	jge    0x453761
453755:	c7 43 0c 00 00 01 00 	movl   $0x10000,0xc(%ebx)
45375c:	e9 ac 00 00 00       	jmp    0x45380d
453761:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
453765:	7d 79                	jge    0x4537e0
453767:	8b 45 f8             	mov    -0x8(%ebp),%eax
45376a:	48                   	dec    %eax
45376b:	85 c0                	test   %eax,%eax
45376d:	7c 71                	jl     0x4537e0
45376f:	40                   	inc    %eax
453770:	89 45 e8             	mov    %eax,-0x18(%ebp)
453773:	33 f6                	xor    %esi,%esi
453775:	68 00 04 00 00       	push   $0x400
45377a:	56                   	push   %esi
45377b:	8b 43 08             	mov    0x8(%ebx),%eax
45377e:	50                   	push   %eax
45377f:	e8 a0 2e fb ff       	call   0x406624
453784:	8b f8                	mov    %eax,%edi
453786:	55                   	push   %ebp
453787:	8a 43 04             	mov    0x4(%ebx),%al
45378a:	50                   	push   %eax
45378b:	8b 43 08             	mov    0x8(%ebx),%eax
45378e:	8b ce                	mov    %esi,%ecx
453790:	8b d7                	mov    %edi,%edx
453792:	e8 1d fe ff ff       	call   0x4535b4
453797:	59                   	pop    %ecx
453798:	84 c0                	test   %al,%al
45379a:	74 3e                	je     0x4537da
45379c:	66 f7 c7 02 00       	test   $0x2,%di
4537a1:	74 09                	je     0x4537ac
4537a3:	c7 43 0c 00 00 01 00 	movl   $0x10000,0xc(%ebx)
4537aa:	eb 61                	jmp    0x45380d
4537ac:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4537b0:	7d 0c                	jge    0x4537be
4537b2:	89 75 f4             	mov    %esi,-0xc(%ebp)
4537b5:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
4537bc:	eb 07                	jmp    0x4537c5
4537be:	c7 43 0c 03 00 00 00 	movl   $0x3,0xc(%ebx)
4537c5:	66 f7 c7 80 00       	test   $0x80,%di
4537ca:	74 05                	je     0x4537d1
4537cc:	89 75 f0             	mov    %esi,-0x10(%ebp)
4537cf:	eb 09                	jmp    0x4537da
4537d1:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4537d5:	7c 03                	jl     0x4537da
4537d7:	89 75 ec             	mov    %esi,-0x14(%ebp)
4537da:	46                   	inc    %esi
4537db:	ff 4d e8             	decl   -0x18(%ebp)
4537de:	75 95                	jne    0x453775
4537e0:	8b 43 0c             	mov    0xc(%ebx),%eax
4537e3:	83 f8 02             	cmp    $0x2,%eax
4537e6:	75 0b                	jne    0x4537f3
4537e8:	c1 e0 10             	shl    $0x10,%eax
4537eb:	0b 45 f4             	or     -0xc(%ebp),%eax
4537ee:	89 43 0c             	mov    %eax,0xc(%ebx)
4537f1:	eb 1a                	jmp    0x45380d
4537f3:	83 f8 03             	cmp    $0x3,%eax
4537f6:	75 15                	jne    0x45380d
4537f8:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4537fc:	7d 06                	jge    0x453804
4537fe:	8b 55 f4             	mov    -0xc(%ebp),%edx
453801:	89 55 ec             	mov    %edx,-0x14(%ebp)
453804:	c1 e0 10             	shl    $0x10,%eax
453807:	0b 45 ec             	or     -0x14(%ebp),%eax
45380a:	89 43 0c             	mov    %eax,0xc(%ebx)
45380d:	5f                   	pop    %edi
45380e:	5e                   	pop    %esi
45380f:	5b                   	pop    %ebx
453810:	8b e5                	mov    %ebp,%esp
453812:	5d                   	pop    %ebp
453813:	c3                   	ret
453814:	55                   	push   %ebp
453815:	8b ec                	mov    %esp,%ebp
453817:	51                   	push   %ecx
453818:	53                   	push   %ebx
453819:	56                   	push   %esi
45381a:	57                   	push   %edi
45381b:	8b f1                	mov    %ecx,%esi
45381d:	8b fa                	mov    %edx,%edi
45381f:	8b d8                	mov    %eax,%ebx
453821:	8b c3                	mov    %ebx,%eax
453823:	e8 f8 f6 ff ff       	call   0x452f20
453828:	84 c0                	test   %al,%al
45382a:	74 74                	je     0x4538a0
45382c:	33 c0                	xor    %eax,%eax
45382e:	89 45 fc             	mov    %eax,-0x4(%ebp)
453831:	8b 45 08             	mov    0x8(%ebp),%eax
453834:	50                   	push   %eax
453835:	56                   	push   %esi
453836:	57                   	push   %edi
453837:	e8 e8 2d fb ff       	call   0x406624
45383c:	a8 10                	test   $0x10,%al
45383e:	74 19                	je     0x453859
453840:	56                   	push   %esi
453841:	57                   	push   %edi
453842:	e8 25 2e fb ff       	call   0x40666c
453847:	8b f8                	mov    %eax,%edi
453849:	b1 01                	mov    $0x1,%cl
45384b:	8b d7                	mov    %edi,%edx
45384d:	8b c3                	mov    %ebx,%eax
45384f:	e8 48 f5 ff ff       	call   0x452d9c
453854:	89 45 fc             	mov    %eax,-0x4(%ebp)
453857:	eb 1c                	jmp    0x453875
453859:	56                   	push   %esi
45385a:	57                   	push   %edi
45385b:	e8 b4 2d fb ff       	call   0x406614
453860:	8b f0                	mov    %eax,%esi
453862:	83 fe ff             	cmp    $0xffffffff,%esi
453865:	74 0e                	je     0x453875
453867:	33 c9                	xor    %ecx,%ecx
453869:	8b d6                	mov    %esi,%edx
45386b:	8b c3                	mov    %ebx,%eax
45386d:	e8 2a f5 ff ff       	call   0x452d9c
453872:	89 45 fc             	mov    %eax,-0x4(%ebp)
453875:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
453879:	74 21                	je     0x45389c
45387b:	8b 45 10             	mov    0x10(%ebp),%eax
45387e:	c6 00 00             	movb   $0x0,(%eax)
453881:	8b 45 fc             	mov    -0x4(%ebp),%eax
453884:	8b 50 30             	mov    0x30(%eax),%edx
453887:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45388a:	8b 45 10             	mov    0x10(%ebp),%eax
45388d:	e8 36 4e fb ff       	call   0x4086c8
453892:	8b 45 10             	mov    0x10(%ebp),%eax
453895:	e8 72 4d fb ff       	call   0x40860c
45389a:	eb 17                	jmp    0x4538b3
45389c:	33 c0                	xor    %eax,%eax
45389e:	eb 13                	jmp    0x4538b3
4538a0:	8b 45 08             	mov    0x8(%ebp),%eax
4538a3:	50                   	push   %eax
4538a4:	8b 45 0c             	mov    0xc(%ebp),%eax
4538a7:	50                   	push   %eax
4538a8:	8b 45 10             	mov    0x10(%ebp),%eax
4538ab:	50                   	push   %eax
4538ac:	56                   	push   %esi
4538ad:	57                   	push   %edi
4538ae:	e8 79 2d fb ff       	call   0x40662c
4538b3:	5f                   	pop    %edi
4538b4:	5e                   	pop    %esi
4538b5:	5b                   	pop    %ebx
4538b6:	59                   	pop    %ecx
4538b7:	5d                   	pop    %ebp
4538b8:	c2 0c 00             	ret    $0xc
4538bb:	90                   	nop
4538bc:	3a 50 30             	cmp    0x30(%eax),%dl
4538bf:	74 0c                	je     0x4538cd
4538c1:	88 50 30             	mov    %dl,0x30(%eax)
4538c4:	c6 40 41 00          	movb   $0x0,0x41(%eax)
4538c8:	e8 ef f8 ff ff       	call   0x4531bc
4538cd:	c3                   	ret
4538ce:	8b c0                	mov    %eax,%eax
4538d0:	3a 50 41             	cmp    0x41(%eax),%dl
4538d3:	74 08                	je     0x4538dd
4538d5:	88 50 41             	mov    %dl,0x41(%eax)
4538d8:	e8 03 00 00 00       	call   0x4538e0
4538dd:	c3                   	ret
4538de:	8b c0                	mov    %eax,%eax
4538e0:	53                   	push   %ebx
4538e1:	8b d8                	mov    %eax,%ebx
4538e3:	80 7b 41 00          	cmpb   $0x0,0x41(%ebx)
4538e7:	74 1a                	je     0x453903
4538e9:	8b 43 38             	mov    0x38(%ebx),%eax
4538ec:	e8 a3 8e fe ff       	call   0x43c794
4538f1:	85 c0                	test   %eax,%eax
4538f3:	74 0e                	je     0x453903
4538f5:	8a 50 5f             	mov    0x5f(%eax),%dl
4538f8:	8b c3                	mov    %ebx,%eax
4538fa:	e8 bd ff ff ff       	call   0x4538bc
4538ff:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
453903:	5b                   	pop    %ebx
453904:	c3                   	ret
453905:	8d 40 00             	lea    0x0(%eax),%eax
453908:	53                   	push   %ebx
453909:	56                   	push   %esi
45390a:	8b f2                	mov    %edx,%esi
45390c:	8b d8                	mov    %eax,%ebx
45390e:	80 7b 41 00          	cmpb   $0x0,0x41(%ebx)
453912:	74 1b                	je     0x45392f
453914:	8b c6                	mov    %esi,%eax
453916:	8b 15 b0 af 43 00    	mov    0x43afb0,%edx
45391c:	e8 d7 fa fa ff       	call   0x4033f8
453921:	8a 50 5f             	mov    0x5f(%eax),%dl
453924:	8b c3                	mov    %ebx,%eax
453926:	e8 91 ff ff ff       	call   0x4538bc
45392b:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
45392f:	5e                   	pop    %esi
453930:	5b                   	pop    %ebx
453931:	c3                   	ret
453932:	8b c0                	mov    %eax,%eax
453934:	8b 40 34             	mov    0x34(%eax),%eax
453937:	0f b6 40 3b          	movzbl 0x3b(%eax),%eax
45393b:	8a 80 a8 3c 46 00    	mov    0x463ca8(%eax),%al
453941:	c3                   	ret
453942:	8b c0                	mov    %eax,%eax
453944:	83 e2 7f             	and    $0x7f,%edx
453947:	8a 92 a4 3c 46 00    	mov    0x463ca4(%edx),%dl
45394d:	8b 40 34             	mov    0x34(%eax),%eax
453950:	88 50 3b             	mov    %dl,0x3b(%eax)
453953:	c3                   	ret
453954:	8b 40 34             	mov    0x34(%eax),%eax
453957:	0f b6 40 3c          	movzbl 0x3c(%eax),%eax
45395b:	8a 80 a8 3c 46 00    	mov    0x463ca8(%eax),%al
453961:	c3                   	ret
453962:	8b c0                	mov    %eax,%eax
453964:	83 e2 7f             	and    $0x7f,%edx
453967:	8a 92 a4 3c 46 00    	mov    0x463ca4(%edx),%dl
45396d:	8b 40 34             	mov    0x34(%eax),%eax
453970:	88 50 3c             	mov    %dl,0x3c(%eax)
453973:	c3                   	ret
453974:	3a 50 5c             	cmp    0x5c(%eax),%dl
453977:	74 19                	je     0x453992
453979:	88 50 5c             	mov    %dl,0x5c(%eax)
45397c:	8b 50 38             	mov    0x38(%eax),%edx
45397f:	85 d2                	test   %edx,%edx
453981:	74 0f                	je     0x453992
453983:	6a 00                	push   $0x0
453985:	6a 00                	push   $0x0
453987:	68 15 b0 00 00       	push   $0xb015
45398c:	52                   	push   %edx
45398d:	e8 82 2e fb ff       	call   0x406814
453992:	c3                   	ret
453993:	90                   	nop
453994:	55                   	push   %ebp
453995:	8b ec                	mov    %esp,%ebp
453997:	51                   	push   %ecx
453998:	53                   	push   %ebx
453999:	56                   	push   %esi
45399a:	57                   	push   %edi
45399b:	8b f1                	mov    %ecx,%esi
45399d:	89 55 fc             	mov    %edx,-0x4(%ebp)
4539a0:	8b f8                	mov    %eax,%edi
4539a2:	83 7f 38 00          	cmpl   $0x0,0x38(%edi)
4539a6:	74 2c                	je     0x4539d4
4539a8:	8b c7                	mov    %edi,%eax
4539aa:	e8 69 f9 ff ff       	call   0x453318
4539af:	8b d8                	mov    %eax,%ebx
4539b1:	85 f6                	test   %esi,%esi
4539b3:	75 12                	jne    0x4539c7
4539b5:	6a 00                	push   $0x0
4539b7:	6a 00                	push   $0x0
4539b9:	68 15 b0 00 00       	push   $0xb015
4539be:	8b 47 38             	mov    0x38(%edi),%eax
4539c1:	50                   	push   %eax
4539c2:	e8 4d 2e fb ff       	call   0x406814
4539c7:	84 db                	test   %bl,%bl
4539c9:	74 09                	je     0x4539d4
4539cb:	8b 47 38             	mov    0x38(%edi),%eax
4539ce:	50                   	push   %eax
4539cf:	e8 20 2b fb ff       	call   0x4064f4
4539d4:	8a 45 08             	mov    0x8(%ebp),%al
4539d7:	50                   	push   %eax
4539d8:	8b ce                	mov    %esi,%ecx
4539da:	8b 55 fc             	mov    -0x4(%ebp),%edx
4539dd:	8b c7                	mov    %edi,%eax
4539df:	e8 ac fa ff ff       	call   0x453490
4539e4:	5f                   	pop    %edi
4539e5:	5e                   	pop    %esi
4539e6:	5b                   	pop    %ebx
4539e7:	59                   	pop    %ecx
4539e8:	5d                   	pop    %ebp
4539e9:	c2 04 00             	ret    $0x4
4539ec:	85 d2                	test   %edx,%edx
4539ee:	74 0c                	je     0x4539fc
4539f0:	8b 40 34             	mov    0x34(%eax),%eax
4539f3:	8b 52 34             	mov    0x34(%edx),%edx
4539f6:	e8 39 c3 ff ff       	call   0x44fd34
4539fb:	c3                   	ret
4539fc:	33 d2                	xor    %edx,%edx
4539fe:	8b 40 34             	mov    0x34(%eax),%eax
453a01:	e8 2e c3 ff ff       	call   0x44fd34
453a06:	c3                   	ret
453a07:	90                   	nop
453a08:	85 d2                	test   %edx,%edx
453a0a:	74 15                	je     0x453a21
453a0c:	8b 48 34             	mov    0x34(%eax),%ecx
453a0f:	8b 49 68             	mov    0x68(%ecx),%ecx
453a12:	3b 4a 34             	cmp    0x34(%edx),%ecx
453a15:	75 0a                	jne    0x453a21
453a17:	33 d2                	xor    %edx,%edx
453a19:	8b 40 34             	mov    0x34(%eax),%eax
453a1c:	e8 13 c3 ff ff       	call   0x44fd34
453a21:	c3                   	ret
453a22:	8b c0                	mov    %eax,%eax
453a24:	53                   	push   %ebx
453a25:	56                   	push   %esi
453a26:	8b d8                	mov    %eax,%ebx
453a28:	6a 00                	push   $0x0
453a2a:	33 c9                	xor    %ecx,%ecx
453a2c:	33 d2                	xor    %edx,%edx
453a2e:	8b c3                	mov    %ebx,%eax
453a30:	8b 30                	mov    (%eax),%esi
453a32:	ff 56 38             	call   *0x38(%esi)
453a35:	8b 43 38             	mov    0x38(%ebx),%eax
453a38:	85 c0                	test   %eax,%eax
453a3a:	74 0f                	je     0x453a4b
453a3c:	6a 00                	push   $0x0
453a3e:	6a 00                	push   $0x0
453a40:	68 15 b0 00 00       	push   $0xb015
453a45:	50                   	push   %eax
453a46:	e8 c9 2d fb ff       	call   0x406814
453a4b:	5e                   	pop    %esi
453a4c:	5b                   	pop    %ebx
453a4d:	c3                   	ret
453a4e:	8b c0                	mov    %eax,%eax
453a50:	8b 50 58             	mov    0x58(%eax),%edx
453a53:	85 d2                	test   %edx,%edx
453a55:	74 03                	je     0x453a5a
453a57:	8b c2                	mov    %edx,%eax
453a59:	c3                   	ret
453a5a:	e8 45 f2 ff ff       	call   0x452ca4
453a5f:	c3                   	ret
453a60:	55                   	push   %ebp
453a61:	8b ec                	mov    %esp,%ebp
453a63:	51                   	push   %ecx
453a64:	53                   	push   %ebx
453a65:	56                   	push   %esi
453a66:	57                   	push   %edi
453a67:	89 45 fc             	mov    %eax,-0x4(%ebp)
453a6a:	33 c0                	xor    %eax,%eax
453a6c:	55                   	push   %ebp
453a6d:	68 8a 3a 45 00       	push   $0x453a8a
453a72:	64 ff 30             	push   %fs:(%eax)
453a75:	64 89 20             	mov    %esp,%fs:(%eax)
453a78:	8b 45 fc             	mov    -0x4(%ebp),%eax
453a7b:	8b 08                	mov    (%eax),%ecx
453a7d:	ff 51 10             	call   *0x10(%ecx)
453a80:	33 c0                	xor    %eax,%eax
453a82:	5a                   	pop    %edx