45c6bd:	85 c0                	test   %eax,%eax
45c6bf:	75 11                	jne    0x45c6d2
45c6c1:	8d 55 f0             	lea    -0x10(%ebp),%edx
45c6c4:	8b 43 30             	mov    0x30(%ebx),%eax
45c6c7:	e8 50 0e 00 00       	call   0x45d51c
45c6cc:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
45c6d0:	74 04                	je     0x45c6d6
45c6d2:	33 c0                	xor    %eax,%eax
45c6d4:	eb 02                	jmp    0x45c6d8
45c6d6:	b0 01                	mov    $0x1,%al
45c6d8:	8b d8                	mov    %eax,%ebx
45c6da:	eb 02                	jmp    0x45c6de
45c6dc:	33 db                	xor    %ebx,%ebx
45c6de:	33 c0                	xor    %eax,%eax
45c6e0:	5a                   	pop    %edx
45c6e1:	59                   	pop    %ecx
45c6e2:	59                   	pop    %ecx
45c6e3:	64 89 10             	mov    %edx,%fs:(%eax)
45c6e6:	68 00 c7 45 00       	push   $0x45c700
45c6eb:	8d 45 f0             	lea    -0x10(%ebp),%eax
45c6ee:	ba 03 00 00 00       	mov    $0x3,%edx
45c6f3:	e8 94 81 fa ff       	call   0x40488c
45c6f8:	c3                   	ret
45c6f9:	e9 0e 7b fa ff       	jmp    0x40420c
45c6fe:	eb eb                	jmp    0x45c6eb
45c700:	8b c3                	mov    %ebx,%eax
45c702:	5e                   	pop    %esi
45c703:	5b                   	pop    %ebx
45c704:	8b e5                	mov    %ebp,%esp
45c706:	5d                   	pop    %ebp
45c707:	c2 04 00             	ret    $0x4
45c70a:	8b c0                	mov    %eax,%eax
45c70c:	55                   	push   %ebp
45c70d:	8b ec                	mov    %esp,%ebp
45c70f:	83 c4 e8             	add    $0xffffffe8,%esp
45c712:	53                   	push   %ebx
45c713:	56                   	push   %esi
45c714:	57                   	push   %edi
45c715:	8b da                	mov    %edx,%ebx
45c717:	89 45 fc             	mov    %eax,-0x4(%ebp)
45c71a:	33 c0                	xor    %eax,%eax
45c71c:	89 43 0c             	mov    %eax,0xc(%ebx)
45c71f:	c7 45 f4 ff ff ff ff 	movl   $0xffffffff,-0xc(%ebp)
45c726:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
45c72d:	c7 45 ec ff ff ff ff 	movl   $0xffffffff,-0x14(%ebp)
45c734:	8b 43 08             	mov    0x8(%ebx),%eax
45c737:	50                   	push   %eax
45c738:	e8 53 b3 fa ff       	call   0x407a90
45c73d:	89 45 f8             	mov    %eax,-0x8(%ebp)
45c740:	8b 45 f8             	mov    -0x8(%ebp),%eax
45c743:	48                   	dec    %eax
45c744:	85 c0                	test   %eax,%eax
45c746:	7c 77                	jl     0x45c7bf
45c748:	40                   	inc    %eax
45c749:	89 45 e8             	mov    %eax,-0x18(%ebp)
45c74c:	33 f6                	xor    %esi,%esi
45c74e:	68 00 04 00 00       	push   $0x400
45c753:	56                   	push   %esi
45c754:	8b 43 08             	mov    0x8(%ebx),%eax
45c757:	50                   	push   %eax
45c758:	e8 4b b3 fa ff       	call   0x407aa8
45c75d:	8b f8                	mov    %eax,%edi
45c75f:	55                   	push   %ebp
45c760:	8a 43 04             	mov    0x4(%ebx),%al
45c763:	50                   	push   %eax
45c764:	8b 43 08             	mov    0x8(%ebx),%eax
45c767:	8b ce                	mov    %esi,%ecx
45c769:	8b d7                	mov    %edi,%edx
45c76b:	e8 58 fe ff ff       	call   0x45c5c8
45c770:	59                   	pop    %ecx
45c771:	84 c0                	test   %al,%al
45c773:	74 44                	je     0x45c7b9
45c775:	66 f7 c7 02 00       	test   $0x2,%di
45c77a:	74 0f                	je     0x45c78b
45c77c:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45c780:	7d 37                	jge    0x45c7b9
45c782:	c7 45 f4 fe ff ff ff 	movl   $0xfffffffe,-0xc(%ebp)
45c789:	eb 2e                	jmp    0x45c7b9
45c78b:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45c78f:	7d 0c                	jge    0x45c79d
45c791:	89 75 f4             	mov    %esi,-0xc(%ebp)
45c794:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
45c79b:	eb 07                	jmp    0x45c7a4
45c79d:	c7 43 0c 03 00 00 00 	movl   $0x3,0xc(%ebx)
45c7a4:	66 f7 c7 80 00       	test   $0x80,%di
45c7a9:	74 05                	je     0x45c7b0
45c7ab:	89 75 f0             	mov    %esi,-0x10(%ebp)
45c7ae:	eb 09                	jmp    0x45c7b9
45c7b0:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
45c7b4:	7c 03                	jl     0x45c7b9
45c7b6:	89 75 ec             	mov    %esi,-0x14(%ebp)
45c7b9:	46                   	inc    %esi
45c7ba:	ff 4d e8             	decl   -0x18(%ebp)
45c7bd:	75 8f                	jne    0x45c74e
45c7bf:	83 7d f4 ff          	cmpl   $0xffffffff,-0xc(%ebp)
45c7c3:	7d 0c                	jge    0x45c7d1
45c7c5:	c7 43 0c 00 00 01 00 	movl   $0x10000,0xc(%ebx)
45c7cc:	e9 ac 00 00 00       	jmp    0x45c87d
45c7d1:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45c7d5:	7d 79                	jge    0x45c850
45c7d7:	8b 45 f8             	mov    -0x8(%ebp),%eax
45c7da:	48                   	dec    %eax
45c7db:	85 c0                	test   %eax,%eax
45c7dd:	7c 71                	jl     0x45c850
45c7df:	40                   	inc    %eax
45c7e0:	89 45 e8             	mov    %eax,-0x18(%ebp)
45c7e3:	33 f6                	xor    %esi,%esi
45c7e5:	68 00 04 00 00       	push   $0x400
45c7ea:	56                   	push   %esi
45c7eb:	8b 43 08             	mov    0x8(%ebx),%eax
45c7ee:	50                   	push   %eax
45c7ef:	e8 b4 b2 fa ff       	call   0x407aa8
45c7f4:	8b f8                	mov    %eax,%edi
45c7f6:	55                   	push   %ebp
45c7f7:	8a 43 04             	mov    0x4(%ebx),%al
45c7fa:	50                   	push   %eax
45c7fb:	8b 43 08             	mov    0x8(%ebx),%eax
45c7fe:	8b ce                	mov    %esi,%ecx
45c800:	8b d7                	mov    %edi,%edx
45c802:	e8 1d fe ff ff       	call   0x45c624
45c807:	59                   	pop    %ecx
45c808:	84 c0                	test   %al,%al
45c80a:	74 3e                	je     0x45c84a
45c80c:	66 f7 c7 02 00       	test   $0x2,%di
45c811:	74 09                	je     0x45c81c
45c813:	c7 43 0c 00 00 01 00 	movl   $0x10000,0xc(%ebx)
45c81a:	eb 61                	jmp    0x45c87d
45c81c:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45c820:	7d 0c                	jge    0x45c82e
45c822:	89 75 f4             	mov    %esi,-0xc(%ebp)
45c825:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
45c82c:	eb 07                	jmp    0x45c835
45c82e:	c7 43 0c 03 00 00 00 	movl   $0x3,0xc(%ebx)
45c835:	66 f7 c7 80 00       	test   $0x80,%di
45c83a:	74 05                	je     0x45c841
45c83c:	89 75 f0             	mov    %esi,-0x10(%ebp)
45c83f:	eb 09                	jmp    0x45c84a
45c841:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
45c845:	7c 03                	jl     0x45c84a
45c847:	89 75 ec             	mov    %esi,-0x14(%ebp)
45c84a:	46                   	inc    %esi
45c84b:	ff 4d e8             	decl   -0x18(%ebp)
45c84e:	75 95                	jne    0x45c7e5
45c850:	8b 43 0c             	mov    0xc(%ebx),%eax
45c853:	83 f8 02             	cmp    $0x2,%eax
45c856:	75 0b                	jne    0x45c863
45c858:	c1 e0 10             	shl    $0x10,%eax
45c85b:	0b 45 f4             	or     -0xc(%ebp),%eax
45c85e:	89 43 0c             	mov    %eax,0xc(%ebx)
45c861:	eb 1a                	jmp    0x45c87d
45c863:	83 f8 03             	cmp    $0x3,%eax
45c866:	75 15                	jne    0x45c87d
45c868:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
45c86c:	7d 06                	jge    0x45c874
45c86e:	8b 55 f4             	mov    -0xc(%ebp),%edx
45c871:	89 55 ec             	mov    %edx,-0x14(%ebp)
45c874:	c1 e0 10             	shl    $0x10,%eax
45c877:	0b 45 ec             	or     -0x14(%ebp),%eax
45c87a:	89 43 0c             	mov    %eax,0xc(%ebx)
45c87d:	5f                   	pop    %edi
45c87e:	5e                   	pop    %esi
45c87f:	5b                   	pop    %ebx
45c880:	8b e5                	mov    %ebp,%esp
45c882:	5d                   	pop    %ebp
45c883:	c3                   	ret
45c884:	55                   	push   %ebp
45c885:	8b ec                	mov    %esp,%ebp
45c887:	51                   	push   %ecx
45c888:	53                   	push   %ebx
45c889:	56                   	push   %esi
45c88a:	57                   	push   %edi
45c88b:	8b f1                	mov    %ecx,%esi
45c88d:	8b fa                	mov    %edx,%edi
45c88f:	8b d8                	mov    %eax,%ebx
45c891:	8b c3                	mov    %ebx,%eax
45c893:	e8 f8 f6 ff ff       	call   0x45bf90
45c898:	84 c0                	test   %al,%al
45c89a:	74 74                	je     0x45c910
45c89c:	33 c0                	xor    %eax,%eax
45c89e:	89 45 fc             	mov    %eax,-0x4(%ebp)
45c8a1:	8b 45 08             	mov    0x8(%ebp),%eax
45c8a4:	50                   	push   %eax
45c8a5:	56                   	push   %esi
45c8a6:	57                   	push   %edi
45c8a7:	e8 fc b1 fa ff       	call   0x407aa8
45c8ac:	a8 10                	test   $0x10,%al
45c8ae:	74 19                	je     0x45c8c9
45c8b0:	56                   	push   %esi
45c8b1:	57                   	push   %edi
45c8b2:	e8 49 b2 fa ff       	call   0x407b00
45c8b7:	8b f8                	mov    %eax,%edi
45c8b9:	b1 01                	mov    $0x1,%cl
45c8bb:	8b d7                	mov    %edi,%edx
45c8bd:	8b c3                	mov    %ebx,%eax
45c8bf:	e8 48 f5 ff ff       	call   0x45be0c
45c8c4:	89 45 fc             	mov    %eax,-0x4(%ebp)
45c8c7:	eb 1c                	jmp    0x45c8e5
45c8c9:	56                   	push   %esi
45c8ca:	57                   	push   %edi
45c8cb:	e8 c8 b1 fa ff       	call   0x407a98
45c8d0:	8b f0                	mov    %eax,%esi
45c8d2:	83 fe ff             	cmp    $0xffffffff,%esi
45c8d5:	74 0e                	je     0x45c8e5
45c8d7:	33 c9                	xor    %ecx,%ecx
45c8d9:	8b d6                	mov    %esi,%edx
45c8db:	8b c3                	mov    %ebx,%eax
45c8dd:	e8 2a f5 ff ff       	call   0x45be0c
45c8e2:	89 45 fc             	mov    %eax,-0x4(%ebp)
45c8e5:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
45c8e9:	74 21                	je     0x45c90c
45c8eb:	8b 45 10             	mov    0x10(%ebp),%eax
45c8ee:	c6 00 00             	movb   $0x0,(%eax)
45c8f1:	8b 45 fc             	mov    -0x4(%ebp),%eax
45c8f4:	8b 50 30             	mov    0x30(%eax),%edx
45c8f7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45c8fa:	8b 45 10             	mov    0x10(%ebp),%eax
45c8fd:	e8 d6 d5 fa ff       	call   0x409ed8
45c902:	8b 45 10             	mov    0x10(%ebp),%eax
45c905:	e8 e6 d4 fa ff       	call   0x409df0
45c90a:	eb 17                	jmp    0x45c923
45c90c:	33 c0                	xor    %eax,%eax
45c90e:	eb 13                	jmp    0x45c923
45c910:	8b 45 08             	mov    0x8(%ebp),%eax
45c913:	50                   	push   %eax
45c914:	8b 45 0c             	mov    0xc(%ebp),%eax
45c917:	50                   	push   %eax
45c918:	8b 45 10             	mov    0x10(%ebp),%eax
45c91b:	50                   	push   %eax
45c91c:	56                   	push   %esi
45c91d:	57                   	push   %edi
45c91e:	e8 8d b1 fa ff       	call   0x407ab0
45c923:	5f                   	pop    %edi
45c924:	5e                   	pop    %esi
45c925:	5b                   	pop    %ebx
45c926:	59                   	pop    %ecx
45c927:	5d                   	pop    %ebp
45c928:	c2 0c 00             	ret    $0xc
45c92b:	90                   	nop
45c92c:	3a 50 30             	cmp    0x30(%eax),%dl
45c92f:	74 0c                	je     0x45c93d
45c931:	88 50 30             	mov    %dl,0x30(%eax)
45c934:	c6 40 41 00          	movb   $0x0,0x41(%eax)
45c938:	e8 ef f8 ff ff       	call   0x45c22c
45c93d:	c3                   	ret
45c93e:	8b c0                	mov    %eax,%eax
45c940:	3a 50 41             	cmp    0x41(%eax),%dl
45c943:	74 08                	je     0x45c94d
45c945:	88 50 41             	mov    %dl,0x41(%eax)
45c948:	e8 03 00 00 00       	call   0x45c950
45c94d:	c3                   	ret
45c94e:	8b c0                	mov    %eax,%eax
45c950:	53                   	push   %ebx
45c951:	8b d8                	mov    %eax,%ebx
45c953:	80 7b 41 00          	cmpb   $0x0,0x41(%ebx)
45c957:	74 1a                	je     0x45c973
45c959:	8b 43 38             	mov    0x38(%ebx),%eax
45c95c:	e8 57 8d fe ff       	call   0x4456b8
45c961:	85 c0                	test   %eax,%eax
45c963:	74 0e                	je     0x45c973
45c965:	8a 50 5f             	mov    0x5f(%eax),%dl
45c968:	8b c3                	mov    %ebx,%eax
45c96a:	e8 bd ff ff ff       	call   0x45c92c
45c96f:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
45c973:	5b                   	pop    %ebx
45c974:	c3                   	ret
45c975:	8d 40 00             	lea    0x0(%eax),%eax
45c978:	53                   	push   %ebx
45c979:	56                   	push   %esi
45c97a:	8b f2                	mov    %edx,%esi
45c97c:	8b d8                	mov    %eax,%ebx
45c97e:	80 7b 41 00          	cmpb   $0x0,0x41(%ebx)
45c982:	74 1b                	je     0x45c99f
45c984:	8b c6                	mov    %esi,%eax
45c986:	8b 15 04 3f 44 00    	mov    0x443f04,%edx
45c98c:	e8 97 72 fa ff       	call   0x403c28
45c991:	8a 50 5f             	mov    0x5f(%eax),%dl
45c994:	8b c3                	mov    %ebx,%eax
45c996:	e8 91 ff ff ff       	call   0x45c92c
45c99b:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
45c99f:	5e                   	pop    %esi
45c9a0:	5b                   	pop    %ebx
45c9a1:	c3                   	ret
45c9a2:	8b c0                	mov    %eax,%eax
45c9a4:	8b 40 34             	mov    0x34(%eax),%eax
45c9a7:	0f b6 40 3b          	movzbl 0x3b(%eax),%eax
45c9ab:	8a 80 d4 ac 68 00    	mov    0x68acd4(%eax),%al
45c9b1:	c3                   	ret
45c9b2:	8b c0                	mov    %eax,%eax
45c9b4:	83 e2 7f             	and    $0x7f,%edx
45c9b7:	8a 92 d0 ac 68 00    	mov    0x68acd0(%edx),%dl
45c9bd:	8b 40 34             	mov    0x34(%eax),%eax
45c9c0:	88 50 3b             	mov    %dl,0x3b(%eax)
45c9c3:	c3                   	ret
45c9c4:	8b 40 34             	mov    0x34(%eax),%eax
45c9c7:	0f b6 40 3c          	movzbl 0x3c(%eax),%eax
45c9cb:	8a 80 d4 ac 68 00    	mov    0x68acd4(%eax),%al
45c9d1:	c3                   	ret
45c9d2:	8b c0                	mov    %eax,%eax
45c9d4:	83 e2 7f             	and    $0x7f,%edx
45c9d7:	8a 92 d0 ac 68 00    	mov    0x68acd0(%edx),%dl
45c9dd:	8b 40 34             	mov    0x34(%eax),%eax
45c9e0:	88 50 3c             	mov    %dl,0x3c(%eax)
45c9e3:	c3                   	ret
45c9e4:	3a 50 5c             	cmp    0x5c(%eax),%dl
45c9e7:	74 19                	je     0x45ca02
45c9e9:	88 50 5c             	mov    %dl,0x5c(%eax)
45c9ec:	8b 50 38             	mov    0x38(%eax),%edx
45c9ef:	85 d2                	test   %edx,%edx
45c9f1:	74 0f                	je     0x45ca02
45c9f3:	6a 00                	push   $0x0
45c9f5:	6a 00                	push   $0x0
45c9f7:	68 15 b0 00 00       	push   $0xb015
45c9fc:	52                   	push   %edx
45c9fd:	e8 0e b3 fa ff       	call   0x407d10
45ca02:	c3                   	ret
45ca03:	90                   	nop
45ca04:	55                   	push   %ebp
45ca05:	8b ec                	mov    %esp,%ebp
45ca07:	51                   	push   %ecx
45ca08:	53                   	push   %ebx
45ca09:	56                   	push   %esi
45ca0a:	57                   	push   %edi
45ca0b:	8b f1                	mov    %ecx,%esi
45ca0d:	89 55 fc             	mov    %edx,-0x4(%ebp)
45ca10:	8b f8                	mov    %eax,%edi
45ca12:	83 7f 38 00          	cmpl   $0x0,0x38(%edi)
45ca16:	74 2c                	je     0x45ca44
45ca18:	8b c7                	mov    %edi,%eax
45ca1a:	e8 69 f9 ff ff       	call   0x45c388
45ca1f:	8b d8                	mov    %eax,%ebx
45ca21:	85 f6                	test   %esi,%esi
45ca23:	75 12                	jne    0x45ca37
45ca25:	6a 00                	push   $0x0
45ca27:	6a 00                	push   $0x0
45ca29:	68 15 b0 00 00       	push   $0xb015
45ca2e:	8b 47 38             	mov    0x38(%edi),%eax
45ca31:	50                   	push   %eax
45ca32:	e8 d9 b2 fa ff       	call   0x407d10
45ca37:	84 db                	test   %bl,%bl
45ca39:	74 09                	je     0x45ca44
45ca3b:	8b 47 38             	mov    0x38(%edi),%eax
45ca3e:	50                   	push   %eax
45ca3f:	e8 ec ae fa ff       	call   0x407930
45ca44:	8a 45 08             	mov    0x8(%ebp),%al
45ca47:	50                   	push   %eax
45ca48:	8b ce                	mov    %esi,%ecx
45ca4a:	8b 55 fc             	mov    -0x4(%ebp),%edx
45ca4d:	8b c7                	mov    %edi,%eax
45ca4f:	e8 ac fa ff ff       	call   0x45c500
45ca54:	5f                   	pop    %edi