45f8d2:	98                   	cwtl
45f8d3:	89 44 24 14          	mov    %eax,0x14(%esp)
45f8d7:	c1 e0 02             	shl    $0x2,%eax
45f8da:	2b c8                	sub    %eax,%ecx
45f8dc:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
45f8e0:	8b 71 04             	mov    0x4(%ecx),%esi
45f8e3:	8b ce                	mov    %esi,%ecx
45f8e5:	e8 82 9a fa ff       	call   0x40936c
45f8ea:	8b 4e 08             	mov    0x8(%esi),%ecx
45f8ed:	8b 01                	mov    (%ecx),%eax
45f8ef:	89 44 24 60          	mov    %eax,0x60(%esp)
45f8f3:	8b 41 04             	mov    0x4(%ecx),%eax
45f8f6:	89 44 24 64          	mov    %eax,0x64(%esp)
45f8fa:	8b 41 08             	mov    0x8(%ecx),%eax
45f8fd:	89 44 24 68          	mov    %eax,0x68(%esp)
45f901:	8b 41 0c             	mov    0xc(%ecx),%eax
45f904:	8b 4c 24 14          	mov    0x14(%esp),%ecx
45f908:	ff 00                	incl   (%eax)
45f90a:	83 c1 fd             	add    $0xfffffffd,%ecx
45f90d:	03 4f 08             	add    0x8(%edi),%ecx
45f910:	89 44 24 6c          	mov    %eax,0x6c(%esp)
45f914:	8b c1                	mov    %ecx,%eax
45f916:	99                   	cltd
45f917:	2b c2                	sub    %edx,%eax
45f919:	8b d0                	mov    %eax,%edx
45f91b:	d1 fa                	sar    $1,%edx
45f91d:	89 4c 24 7c          	mov    %ecx,0x7c(%esp)
45f921:	8d 04 12             	lea    (%edx,%edx,1),%eax
45f924:	89 54 24 1c          	mov    %edx,0x1c(%esp)
45f928:	3b c1                	cmp    %ecx,%eax
45f92a:	74 29                	je     0x45f955
45f92c:	8b 75 0c             	mov    0xc(%ebp),%esi
45f92f:	8b ce                	mov    %esi,%ecx
45f931:	e8 ea 32 fb ff       	call   0x412c20
45f936:	83 26 00             	andl   $0x0,(%esi)
45f939:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
45f940:	8b 03                	mov    (%ebx),%eax
45f942:	6a 00                	push   $0x0
45f944:	8b 48 04             	mov    0x4(%eax),%ecx
45f947:	6a 04                	push   $0x4
45f949:	03 cb                	add    %ebx,%ecx
45f94b:	e8 fc d5 fe ff       	call   0x44cf4c
45f950:	e9 3c 04 00 00       	jmp    0x45fd91
45f955:	33 c0                	xor    %eax,%eax
45f957:	89 44 24 3c          	mov    %eax,0x3c(%esp)
45f95b:	89 44 24 40          	mov    %eax,0x40(%esp)
45f95f:	89 44 24 44          	mov    %eax,0x44(%esp)
45f963:	8d 44 24 70          	lea    0x70(%esp),%eax
45f967:	50                   	push   %eax
45f968:	8d 44 24 64          	lea    0x64(%esp),%eax
45f96c:	50                   	push   %eax
45f96d:	89 94 24 84 00 00 00 	mov    %edx,0x84(%esp)
45f974:	c7 44 24 40 0c 45 4b 	movl   $0x4b450c,0x40(%esp)
45f97b:	00
45f97c:	83 ce ff             	or     $0xffffffff,%esi
45f97f:	e8 e3 0b 00 00       	call   0x460567
45f984:	84 c0                	test   %al,%al
45f986:	75 29                	jne    0x45f9b1
45f988:	8b 75 0c             	mov    0xc(%ebp),%esi
45f98b:	8b ce                	mov    %esi,%ecx
45f98d:	e8 8e 32 fb ff       	call   0x412c20
45f992:	83 26 00             	andl   $0x0,(%esi)
45f995:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
45f99c:	8b 03                	mov    (%ebx),%eax
45f99e:	6a 00                	push   $0x0
45f9a0:	8b 48 04             	mov    0x4(%eax),%ecx
45f9a3:	6a 02                	push   $0x2
45f9a5:	03 cb                	add    %ebx,%ecx
45f9a7:	e8 a0 d5 fe ff       	call   0x44cf4c
45f9ac:	e9 d7 03 00 00       	jmp    0x45fd88
45f9b1:	83 64 24 78 00       	andl   $0x0,0x78(%esp)
45f9b6:	83 64 24 30 00       	andl   $0x0,0x30(%esp)
45f9bb:	6a 03                	push   $0x3
45f9bd:	58                   	pop    %eax
45f9be:	2b 44 24 14          	sub    0x14(%esp),%eax
45f9c2:	83 7c 24 7c 00       	cmpl   $0x0,0x7c(%esp)
45f9c7:	89 44 24 24          	mov    %eax,0x24(%esp)
45f9cb:	0f 8e ba 01 00 00    	jle    0x45fb8b
45f9d1:	c1 e0 02             	shl    $0x2,%eax
45f9d4:	89 44 24 18          	mov    %eax,0x18(%esp)
45f9d8:	8d 44 24 10          	lea    0x10(%esp),%eax
45f9dc:	46                   	inc    %esi
45f9dd:	50                   	push   %eax
45f9de:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
45f9e2:	89 74 24 14          	mov    %esi,0x14(%esp)
45f9e6:	e8 fd 2f 00 00       	call   0x4629e8
45f9eb:	8b 47 04             	mov    0x4(%edi),%eax
45f9ee:	8b 74 24 18          	mov    0x18(%esp),%esi
45f9f2:	8b 34 06             	mov    (%esi,%eax,1),%esi
45f9f5:	8b ce                	mov    %esi,%ecx
45f9f7:	e8 70 99 fa ff       	call   0x40936c
45f9fc:	8b 4e 08             	mov    0x8(%esi),%ecx
45f9ff:	8b 74 24 10          	mov    0x10(%esp),%esi
45fa03:	8b 01                	mov    (%ecx),%eax
45fa05:	89 44 24 50          	mov    %eax,0x50(%esp)
45fa09:	8b 41 04             	mov    0x4(%ecx),%eax
45fa0c:	89 44 24 54          	mov    %eax,0x54(%esp)
45fa10:	8b 41 08             	mov    0x8(%ecx),%eax
45fa13:	8b fe                	mov    %esi,%edi
45fa15:	6b ff 18             	imul   $0x18,%edi,%edi
45fa18:	89 44 24 58          	mov    %eax,0x58(%esp)
45fa1c:	8b 41 0c             	mov    0xc(%ecx),%eax
45fa1f:	89 44 24 5c          	mov    %eax,0x5c(%esp)
45fa23:	ff 00                	incl   (%eax)
45fa25:	8d 84 24 a0 00 00 00 	lea    0xa0(%esp),%eax
45fa2c:	03 c7                	add    %edi,%eax
45fa2e:	50                   	push   %eax
45fa2f:	8d 44 24 54          	lea    0x54(%esp),%eax
45fa33:	50                   	push   %eax
45fa34:	89 74 24 54          	mov    %esi,0x54(%esp)
45fa38:	89 7c 24 18          	mov    %edi,0x18(%esp)
45fa3c:	e8 64 03 00 00       	call   0x45fda5
45fa41:	84 c0                	test   %al,%al
45fa43:	0f 84 81 02 00 00    	je     0x45fcca
45fa49:	8b 44 24 10          	mov    0x10(%esp),%eax
45fa4d:	8d bc 3c a8 00 00 00 	lea    0xa8(%esp,%edi,1),%edi
45fa54:	89 7c 24 48          	mov    %edi,0x48(%esp)
45fa58:	83 3f 10             	cmpl   $0x10,(%edi)
45fa5b:	0f 85 fb 00 00 00    	jne    0x45fb5c
45fa61:	83 bc 04 ac 00 00 00 	cmpl   $0x0,0xac(%esp,%eax,1)
45fa68:	00
45fa69:	0f 85 ed 00 00 00    	jne    0x45fb5c
45fa6f:	8b 45 08             	mov    0x8(%ebp),%eax
45fa72:	6a 0c                	push   $0xc
45fa74:	8b 48 04             	mov    0x4(%eax),%ecx
45fa77:	8b 44 24 1c          	mov    0x1c(%esp),%eax
45fa7b:	89 4c 24 38          	mov    %ecx,0x38(%esp)
45fa7f:	8b 44 01 04          	mov    0x4(%ecx,%eax,1),%eax
45fa83:	8b c8                	mov    %eax,%ecx
45fa85:	89 44 24 24          	mov    %eax,0x24(%esp)
45fa89:	e8 56 db fa ff       	call   0x40d5e4
45fa8e:	84 c0                	test   %al,%al
45fa90:	0f 84 1d 02 00 00    	je     0x45fcb3
45fa96:	8b 4c 24 20          	mov    0x20(%esp),%ecx
45fa9a:	e8 ff ba fe ff       	call   0x44b59e
45fa9f:	8b 54 24 10          	mov    0x10(%esp),%edx
45faa3:	8d 48 ff             	lea    -0x1(%eax),%ecx
45faa6:	c1 e9 02             	shr    $0x2,%ecx
45faa9:	01 4c 24 1c          	add    %ecx,0x1c(%esp)
45faad:	8d 41 01             	lea    0x1(%ecx),%eax
45fab0:	0f af 84 14 b0 00 00 	imul   0xb0(%esp,%edx,1),%eax
45fab7:	00
45fab8:	8b 54 24 1c          	mov    0x1c(%esp),%edx
45fabc:	01 44 24 78          	add    %eax,0x78(%esp)
45fac0:	2b d1                	sub    %ecx,%edx
45fac2:	89 4c 24 20          	mov    %ecx,0x20(%esp)
45fac6:	3b d6                	cmp    %esi,%edx
45fac8:	7e 3f                	jle    0x45fb09
45faca:	8b c2                	mov    %edx,%eax
45facc:	6b c0 18             	imul   $0x18,%eax,%eax
45facf:	8d 9c 24 a0 00 00 00 	lea    0xa0(%esp),%ebx
45fad6:	03 d8                	add    %eax,%ebx
45fad8:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
45fadb:	6b c0 18             	imul   $0x18,%eax,%eax
45fade:	2b d6                	sub    %esi,%edx
45fae0:	8d 84 04 a0 00 00 00 	lea    0xa0(%esp,%eax,1),%eax
45fae7:	6a 06                	push   $0x6
45fae9:	8b f3                	mov    %ebx,%esi
45faeb:	8b f8                	mov    %eax,%edi
45faed:	59                   	pop    %ecx
45faee:	83 eb 18             	sub    $0x18,%ebx
45faf1:	83 e8 18             	sub    $0x18,%eax
45faf4:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
45faf6:	4a                   	dec    %edx
45faf7:	75 ee                	jne    0x45fae7
45faf9:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
45fafd:	8b 74 24 4c          	mov    0x4c(%esp),%esi
45fb01:	8b 7c 24 48          	mov    0x48(%esp),%edi
45fb05:	8b 4c 24 20          	mov    0x20(%esp),%ecx
45fb09:	8b 44 24 18          	mov    0x18(%esp),%eax
45fb0d:	8b 54 24 34          	mov    0x34(%esp),%edx
45fb11:	8b 44 02 04          	mov    0x4(%edx,%eax,1),%eax
45fb15:	83 78 0c 0c          	cmpl   $0xc,0xc(%eax)
45fb19:	75 04                	jne    0x45fb1f
45fb1b:	8b 10                	mov    (%eax),%edx
45fb1d:	eb 02                	jmp    0x45fb21
45fb1f:	33 d2                	xor    %edx,%edx
45fb21:	8b 52 08             	mov    0x8(%edx),%edx
45fb24:	41                   	inc    %ecx
45fb25:	03 ce                	add    %esi,%ecx
45fb27:	3b f1                	cmp    %ecx,%esi
45fb29:	7d 2e                	jge    0x45fb59
45fb2b:	8b 5c 24 10          	mov    0x10(%esp),%ebx
45fb2f:	2b ce                	sub    %esi,%ecx
45fb31:	03 f1                	add    %ecx,%esi
45fb33:	8b 02                	mov    (%edx),%eax
45fb35:	83 67 04 00          	andl   $0x0,0x4(%edi)
45fb39:	89 47 f8             	mov    %eax,-0x8(%edi)
45fb3c:	c7 07 10 00 00 00    	movl   $0x10,(%edi)
45fb42:	8b 84 1c b0 00 00 00 	mov    0xb0(%esp,%ebx,1),%eax
45fb49:	89 47 08             	mov    %eax,0x8(%edi)
45fb4c:	8d 52 04             	lea    0x4(%edx),%edx
45fb4f:	8d 7f 18             	lea    0x18(%edi),%edi
45fb52:	49                   	dec    %ecx
45fb53:	75 de                	jne    0x45fb33
45fb55:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
45fb59:	4e                   	dec    %esi
45fb5a:	eb 0b                	jmp    0x45fb67
45fb5c:	8b 84 04 b0 00 00 00 	mov    0xb0(%esp,%eax,1),%eax
45fb63:	01 44 24 78          	add    %eax,0x78(%esp)
45fb67:	83 44 24 18 08       	addl   $0x8,0x18(%esp)
45fb6c:	8d 4c 24 50          	lea    0x50(%esp),%ecx
45fb70:	e8 c2 cf fa ff       	call   0x40cb37
45fb75:	8b 44 24 30          	mov    0x30(%esp),%eax
45fb79:	8b 7d 08             	mov    0x8(%ebp),%edi
45fb7c:	40                   	inc    %eax
45fb7d:	89 44 24 30          	mov    %eax,0x30(%esp)
45fb81:	3b 44 24 7c          	cmp    0x7c(%esp),%eax
45fb85:	0f 8c 4d fe ff ff    	jl     0x45f9d8
45fb8b:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
45fb8f:	0f 84 65 01 00 00    	je     0x45fcfa
45fb95:	8b 47 04             	mov    0x4(%edi),%eax
45fb98:	8b 48 04             	mov    0x4(%eax),%ecx
45fb9b:	e8 d7 b9 fe ff       	call   0x44b577
45fba0:	89 44 24 70          	mov    %eax,0x70(%esp)
45fba4:	83 ec 10             	sub    $0x10,%esp
45fba7:	8d 44 24 48          	lea    0x48(%esp),%eax
45fbab:	8b cc                	mov    %esp,%ecx
45fbad:	50                   	push   %eax
45fbae:	e8 57 fb ff ff       	call   0x45f70a
45fbb3:	6a 04                	push   $0x4
45fbb5:	58                   	pop    %eax
45fbb6:	2b 44 24 24          	sub    0x24(%esp),%eax
45fbba:	50                   	push   %eax
45fbbb:	57                   	push   %edi
45fbbc:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
45fbc3:	50                   	push   %eax
45fbc4:	e8 5f 0c 00 00       	call   0x460828
45fbc9:	8b 44 24 1c          	mov    0x1c(%esp),%eax
45fbcd:	8b 74 24 7c          	mov    0x7c(%esp),%esi
45fbd1:	89 44 24 7c          	mov    %eax,0x7c(%esp)
45fbd5:	8d 44 24 70          	lea    0x70(%esp),%eax
45fbd9:	50                   	push   %eax
45fbda:	e8 39 f1 fb ff       	call   0x41ed18
45fbdf:	85 c0                	test   %eax,%eax
45fbe1:	75 1a                	jne    0x45fbfd
45fbe3:	6a ff                	push   $0xffffffff
45fbe5:	6a 67                	push   $0x67
45fbe7:	8b cb                	mov    %ebx,%ecx
45fbe9:	e8 6e d0 fe ff       	call   0x44cc5c
45fbee:	6a 00                	push   $0x0
45fbf0:	ff 15 44 d3 48 00    	call   *0x48d344
45fbf6:	50                   	push   %eax
45fbf7:	ff 15 d8 d1 48 00    	call   *0x48d1d8
45fbfd:	8d 46 01             	lea    0x1(%esi),%eax
45fc00:	50                   	push   %eax
45fc01:	33 ff                	xor    %edi,%edi
45fc03:	47                   	inc    %edi
45fc04:	57                   	push   %edi
45fc05:	ff 75 0c             	push   0xc(%ebp)
45fc08:	89 b4 24 88 00 00 00 	mov    %esi,0x88(%esp)
45fc0f:	e8 3c c4 fb ff       	call   0x41c050
45fc14:	83 c4 0c             	add    $0xc,%esp
45fc17:	39 bc 24 80 00 00 00 	cmp    %edi,0x80(%esp)
45fc1e:	75 1e                	jne    0x45fc3e
45fc20:	6a 00                	push   $0x0
45fc22:	57                   	push   %edi
45fc23:	6a 00                	push   $0x0
45fc25:	ff 75 0c             	push   0xc(%ebp)
45fc28:	e8 63 1f fb ff       	call   0x411b90
45fc2d:	83 c4 10             	add    $0x10,%esp
45fc30:	50                   	push   %eax
45fc31:	8d 84 24 8c 00 00 00 	lea    0x8c(%esp),%eax
45fc38:	50                   	push   %eax
45fc39:	e8 d1 07 00 00       	call   0x46040f
45fc3e:	33 f6                	xor    %esi,%esi
45fc40:	39 74 24 7c          	cmp    %esi,0x7c(%esp)
45fc44:	0f 8e 1b 01 00 00    	jle    0x45fd65
45fc4a:	8b 44 24 24          	mov    0x24(%esp),%eax
45fc4e:	c1 e0 02             	shl    $0x2,%eax
45fc51:	89 44 24 14          	mov    %eax,0x14(%esp)
45fc55:	8d 46 01             	lea    0x1(%esi),%eax
45fc58:	50                   	push   %eax
45fc59:	57                   	push   %edi
45fc5a:	6a 00                	push   $0x0
45fc5c:	ff 75 0c             	push   0xc(%ebp)
45fc5f:	89 44 24 34          	mov    %eax,0x34(%esp)
45fc63:	e8 28 1f fb ff       	call   0x411b90
45fc68:	8b d8                	mov    %eax,%ebx
45fc6a:	8b 44 24 4c          	mov    0x4c(%esp),%eax
45fc6e:	83 c4 10             	add    $0x10,%esp
45fc71:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
45fc74:	8b 01                	mov    (%ecx),%eax
45fc76:	6b c0 18             	imul   $0x18,%eax,%eax
45fc79:	83 bc 04 a8 00 00 00 	cmpl   $0x10,0xa8(%esp,%eax,1)
45fc80:	10
45fc81:	0f 85 bd 00 00 00    	jne    0x45fd44
45fc87:	8b 45 08             	mov    0x8(%ebp),%eax
45fc8a:	6a 0c                	push   $0xc
45fc8c:	8b 48 04             	mov    0x4(%eax),%ecx
45fc8f:	8b 44 24 18          	mov    0x18(%esp),%eax
45fc93:	8b 74 01 04          	mov    0x4(%ecx,%eax,1),%esi
45fc97:	8b ce                	mov    %esi,%ecx
45fc99:	e8 46 d9 fa ff       	call   0x40d5e4
45fc9e:	84 c0                	test   %al,%al
45fca0:	0f 84 83 00 00 00    	je     0x45fd29
45fca6:	56                   	push   %esi
45fca7:	8b cb                	mov    %ebx,%ecx
45fca9:	e8 00 e0 fa ff       	call   0x40dcae
45fcae:	e9 9f 00 00 00       	jmp    0x45fd52
45fcb3:	8b 75 0c             	mov    0xc(%ebp),%esi
45fcb6:	8b ce                	mov    %esi,%ecx
45fcb8:	e8 63 2f fb ff       	call   0x412c20
45fcbd:	6a 00                	push   $0x0
45fcbf:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
45fcc6:	6a 05                	push   $0x5
45fcc8:	eb 13                	jmp    0x45fcdd
45fcca:	8b 75 0c             	mov    0xc(%ebp),%esi
45fccd:	8b ce                	mov    %esi,%ecx
45fccf:	e8 4c 2f fb ff       	call   0x412c20
45fcd4:	33 ff                	xor    %edi,%edi
45fcd6:	47                   	inc    %edi
45fcd7:	6a 00                	push   $0x0
45fcd9:	89 7e 0c             	mov    %edi,0xc(%esi)
45fcdc:	57                   	push   %edi
45fcdd:	83 26 00             	andl   $0x0,(%esi)
45fce0:	8b 03                	mov    (%ebx),%eax
45fce2:	8b 48 04             	mov    0x4(%eax),%ecx
45fce5:	03 cb                	add    %ebx,%ecx
45fce7:	e8 60 d2 fe ff       	call   0x44cf4c
45fcec:	8d 4c 24 50          	lea    0x50(%esp),%ecx
45fcf0:	e8 42 ce fa ff       	call   0x40cb37
45fcf5:	e9 8e 00 00 00       	jmp    0x45fd88
45fcfa:	57                   	push   %edi
45fcfb:	8d 44 24 74          	lea    0x74(%esp),%eax
45fcff:	50                   	push   %eax
45fd00:	8b cb                	mov    %ebx,%ecx
45fd02:	e8 81 09 00 00       	call   0x460688
45fd07:	89 44 24 28          	mov    %eax,0x28(%esp)
45fd0b:	85 c0                	test   %eax,%eax
45fd0d:	0f 85 91 fe ff ff    	jne    0x45fba4
45fd13:	8b 75 0c             	mov    0xc(%ebp),%esi
45fd16:	8b ce                	mov    %esi,%ecx
45fd18:	e8 03 2f fb ff       	call   0x412c20
45fd1d:	83 26 00             	andl   $0x0,(%esi)
45fd20:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
45fd27:	eb 5f                	jmp    0x45fd88
45fd29:	8b ce                	mov    %esi,%ecx
45fd2b:	e8 47 b8 fe ff       	call   0x44b577
45fd30:	8b cb                	mov    %ebx,%ecx
45fd32:	8b f0                	mov    %eax,%esi
45fd34:	e8 e7 2e fb ff       	call   0x412c20
45fd39:	c7 43 0c 07 00 00 00 	movl   $0x7,0xc(%ebx)
45fd40:	89 33                	mov    %esi,(%ebx)
45fd42:	eb 0e                	jmp    0x45fd52
45fd44:	53                   	push   %ebx
45fd45:	8d 84 04 a4 00 00 00 	lea    0xa4(%esp,%eax,1),%eax
45fd4c:	50                   	push   %eax
45fd4d:	e8 bd 06 00 00       	call   0x46040f
45fd52:	8b 74 24 24          	mov    0x24(%esp),%esi