45be6a:	0f 84 64 01 00 00    	je     0x45bfd4
45be70:	8b 53 08             	mov    0x8(%ebx),%edx
45be73:	8d 78 01             	lea    0x1(%eax),%edi
45be76:	2b d1                	sub    %ecx,%edx
45be78:	89 7d f4             	mov    %edi,-0xc(%ebp)
45be7b:	c1 fa 03             	sar    $0x3,%edx
45be7e:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
45be83:	8b ca                	mov    %edx,%ecx
45be85:	d1 e9                	shr    $1,%ecx
45be87:	2b c1                	sub    %ecx,%eax
45be89:	3b d0                	cmp    %eax,%edx
45be8b:	0f 87 3e 01 00 00    	ja     0x45bfcf
45be91:	8d 04 11             	lea    (%ecx,%edx,1),%eax
45be94:	8b cf                	mov    %edi,%ecx
45be96:	3b c7                	cmp    %edi,%eax
45be98:	0f 43 c8             	cmovae %eax,%ecx
45be9b:	81 f9 ff ff ff 1f    	cmp    $0x1fffffff,%ecx
45bea1:	0f 87 28 01 00 00    	ja     0x45bfcf
45bea7:	c1 e1 03             	shl    $0x3,%ecx
45beaa:	89 4d f0             	mov    %ecx,-0x10(%ebp)
45bead:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
45beb3:	72 27                	jb     0x45bedc
45beb5:	8d 41 23             	lea    0x23(%ecx),%eax
45beb8:	3b c1                	cmp    %ecx,%eax
45beba:	0f 86 0f 01 00 00    	jbe    0x45bfcf
45bec0:	50                   	push   %eax
45bec1:	e8 5f 53 17 00       	call   0x5d1225
45bec6:	83 c4 04             	add    $0x4,%esp
45bec9:	85 c0                	test   %eax,%eax
45becb:	0f 84 08 01 00 00    	je     0x45bfd9
45bed1:	8d 78 23             	lea    0x23(%eax),%edi
45bed4:	83 e7 e0             	and    $0xffffffe0,%edi
45bed7:	89 47 fc             	mov    %eax,-0x4(%edi)
45beda:	eb 13                	jmp    0x45beef
45bedc:	85 c9                	test   %ecx,%ecx
45bede:	74 0d                	je     0x45beed
45bee0:	51                   	push   %ecx
45bee1:	e8 3f 53 17 00       	call   0x5d1225
45bee6:	83 c4 04             	add    $0x4,%esp
45bee9:	8b f8                	mov    %eax,%edi
45beeb:	eb 02                	jmp    0x45beef
45beed:	33 ff                	xor    %edi,%edi
45beef:	8b 45 f8             	mov    -0x8(%ebp),%eax
45bef2:	8d 14 c7             	lea    (%edi,%eax,8),%edx
45bef5:	89 7d 08             	mov    %edi,0x8(%ebp)
45bef8:	8b 45 0c             	mov    0xc(%ebp),%eax
45befb:	89 55 f8             	mov    %edx,-0x8(%ebp)
45befe:	8b 08                	mov    (%eax),%ecx
45bf00:	8b 40 04             	mov    0x4(%eax),%eax
45bf03:	89 0a                	mov    %ecx,(%edx)
45bf05:	89 42 04             	mov    %eax,0x4(%edx)
45bf08:	8b 55 fc             	mov    -0x4(%ebp),%edx
45bf0b:	8b 5b 04             	mov    0x4(%ebx),%ebx
45bf0e:	8b 12                	mov    (%edx),%edx
45bf10:	3b f3                	cmp    %ebx,%esi
45bf12:	75 23                	jne    0x45bf37
45bf14:	8b f7                	mov    %edi,%esi
45bf16:	3b d3                	cmp    %ebx,%edx
45bf18:	74 61                	je     0x45bf7b
45bf1a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
45bf20:	8b 02                	mov    (%edx),%eax
45bf22:	8d 76 08             	lea    0x8(%esi),%esi
45bf25:	8b 4a 04             	mov    0x4(%edx),%ecx
45bf28:	83 c2 08             	add    $0x8,%edx
45bf2b:	89 46 f8             	mov    %eax,-0x8(%esi)
45bf2e:	89 4e fc             	mov    %ecx,-0x4(%esi)
45bf31:	3b d3                	cmp    %ebx,%edx
45bf33:	75 eb                	jne    0x45bf20
45bf35:	eb 44                	jmp    0x45bf7b
45bf37:	3b d6                	cmp    %esi,%edx
45bf39:	74 20                	je     0x45bf5b
45bf3b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
45bf40:	8b 02                	mov    (%edx),%eax
45bf42:	8d 7f 08             	lea    0x8(%edi),%edi
45bf45:	8b 4a 04             	mov    0x4(%edx),%ecx
45bf48:	83 c2 08             	add    $0x8,%edx
45bf4b:	89 47 f8             	mov    %eax,-0x8(%edi)
45bf4e:	89 4f fc             	mov    %ecx,-0x4(%edi)
45bf51:	3b d6                	cmp    %esi,%edx
45bf53:	75 eb                	jne    0x45bf40
45bf55:	8b 45 fc             	mov    -0x4(%ebp),%eax
45bf58:	8b 58 04             	mov    0x4(%eax),%ebx
45bf5b:	3b f3                	cmp    %ebx,%esi
45bf5d:	74 19                	je     0x45bf78
45bf5f:	8b 55 f8             	mov    -0x8(%ebp),%edx
45bf62:	2b d6                	sub    %esi,%edx
45bf64:	8b 06                	mov    (%esi),%eax
45bf66:	8b 4e 04             	mov    0x4(%esi),%ecx
45bf69:	89 44 32 08          	mov    %eax,0x8(%edx,%esi,1)
45bf6d:	89 4c 32 0c          	mov    %ecx,0xc(%edx,%esi,1)
45bf71:	83 c6 08             	add    $0x8,%esi
45bf74:	3b f3                	cmp    %ebx,%esi
45bf76:	75 ec                	jne    0x45bf64
45bf78:	8b 7d 08             	mov    0x8(%ebp),%edi
45bf7b:	8b 5d fc             	mov    -0x4(%ebp),%ebx
45bf7e:	8b 03                	mov    (%ebx),%eax
45bf80:	85 c0                	test   %eax,%eax
45bf82:	74 2c                	je     0x45bfb0
45bf84:	8b 4b 08             	mov    0x8(%ebx),%ecx
45bf87:	2b c8                	sub    %eax,%ecx
45bf89:	83 e1 f8             	and    $0xfffffff8,%ecx
45bf8c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
45bf92:	72 12                	jb     0x45bfa6
45bf94:	8b 50 fc             	mov    -0x4(%eax),%edx
45bf97:	83 c1 23             	add    $0x23,%ecx
45bf9a:	2b c2                	sub    %edx,%eax
45bf9c:	83 c0 fc             	add    $0xfffffffc,%eax
45bf9f:	83 f8 1f             	cmp    $0x1f,%eax
45bfa2:	77 35                	ja     0x45bfd9
45bfa4:	8b c2                	mov    %edx,%eax
45bfa6:	51                   	push   %ecx
45bfa7:	50                   	push   %eax
45bfa8:	e8 a8 52 17 00       	call   0x5d1255
45bfad:	83 c4 08             	add    $0x8,%esp
45bfb0:	8b 45 f4             	mov    -0xc(%ebp),%eax
45bfb3:	89 3b                	mov    %edi,(%ebx)
45bfb5:	8d 0c c7             	lea    (%edi,%eax,8),%ecx
45bfb8:	8b 45 f8             	mov    -0x8(%ebp),%eax
45bfbb:	89 4b 04             	mov    %ecx,0x4(%ebx)
45bfbe:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45bfc1:	03 cf                	add    %edi,%ecx
45bfc3:	5f                   	pop    %edi
45bfc4:	5e                   	pop    %esi
45bfc5:	89 4b 08             	mov    %ecx,0x8(%ebx)
45bfc8:	5b                   	pop    %ebx
45bfc9:	8b e5                	mov    %ebp,%esp
45bfcb:	5d                   	pop    %ebp
45bfcc:	c2 08 00             	ret    $0x8
45bfcf:	e8 1c b6 fe ff       	call   0x4475f0
45bfd4:	e8 c7 07 00 00       	call   0x45c7a0
45bfd9:	e8 12 a2 17 00       	call   0x5d61f0
45bfde:	cc                   	int3
45bfdf:	cc                   	int3
45bfe0:	55                   	push   %ebp
45bfe1:	8b ec                	mov    %esp,%ebp
45bfe3:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
45bfe7:	56                   	push   %esi
45bfe8:	8b f1                	mov    %ecx,%esi
45bfea:	c7 06 ec 66 60 00    	movl   $0x6066ec,(%esi)
45bff0:	74 0b                	je     0x45bffd
45bff2:	6a 04                	push   $0x4
45bff4:	56                   	push   %esi
45bff5:	e8 5b 52 17 00       	call   0x5d1255
45bffa:	83 c4 08             	add    $0x8,%esp
45bffd:	8b c6                	mov    %esi,%eax
45bfff:	5e                   	pop    %esi
45c000:	5d                   	pop    %ebp
45c001:	c2 04 00             	ret    $0x4
45c004:	cc                   	int3
45c005:	cc                   	int3
45c006:	cc                   	int3
45c007:	cc                   	int3
45c008:	cc                   	int3
45c009:	cc                   	int3
45c00a:	cc                   	int3
45c00b:	cc                   	int3
45c00c:	cc                   	int3
45c00d:	cc                   	int3
45c00e:	cc                   	int3
45c00f:	cc                   	int3
45c010:	55                   	push   %ebp
45c011:	8b ec                	mov    %esp,%ebp
45c013:	6a ff                	push   $0xffffffff
45c015:	68 85 8a 5f 00       	push   $0x5f8a85
45c01a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45c020:	50                   	push   %eax
45c021:	83 ec 78             	sub    $0x78,%esp
45c024:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45c029:	33 c5                	xor    %ebp,%eax
45c02b:	89 45 f0             	mov    %eax,-0x10(%ebp)
45c02e:	53                   	push   %ebx
45c02f:	56                   	push   %esi
45c030:	57                   	push   %edi
45c031:	50                   	push   %eax
45c032:	8d 45 f4             	lea    -0xc(%ebp),%eax
45c035:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45c03b:	8b f9                	mov    %ecx,%edi
45c03d:	8b 75 08             	mov    0x8(%ebp),%esi
45c040:	8b 46 10             	mov    0x10(%esi),%eax
45c043:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
45c049:	8b 07                	mov    (%edi),%eax
45c04b:	ff 50 20             	call   *0x20(%eax)
45c04e:	8b d8                	mov    %eax,%ebx
45c050:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
45c056:	0f 86 91 00 00 00    	jbe    0x45c0ed
45c05c:	8b 17                	mov    (%edi),%edx
45c05e:	8d 45 a8             	lea    -0x58(%ebp),%eax
45c061:	50                   	push   %eax
45c062:	8b cf                	mov    %edi,%ecx
45c064:	ff 52 04             	call   *0x4(%edx)
45c067:	8b f0                	mov    %eax,%esi
45c069:	68 cd 01 00 00       	push   $0x1cd
45c06e:	68 00 67 60 00       	push   $0x606700
45c073:	6a 02                	push   $0x2
45c075:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
45c078:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45c07f:	e8 5c 92 01 00       	call   0x4752e0
45c084:	53                   	push   %ebx
45c085:	68 bc 67 60 00       	push   $0x6067bc
45c08a:	56                   	push   %esi
45c08b:	8b c8                	mov    %eax,%ecx
45c08d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45c091:	e8 6a 96 01 00       	call   0x475700
45c096:	8b c8                	mov    %eax,%ecx
45c098:	e8 53 98 01 00       	call   0x4758f0
45c09d:	8b c8                	mov    %eax,%ecx
45c09f:	e8 dc 97 01 00       	call   0x475880
45c0a4:	50                   	push   %eax
45c0a5:	8d 4d 83             	lea    -0x7d(%ebp),%ecx
45c0a8:	e8 d3 95 01 00       	call   0x475680
45c0ad:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
45c0b0:	e8 5b 95 01 00       	call   0x475610
45c0b5:	8b 55 bc             	mov    -0x44(%ebp),%edx
45c0b8:	83 fa 10             	cmp    $0x10,%edx
45c0bb:	72 2c                	jb     0x45c0e9
45c0bd:	8b 4d a8             	mov    -0x58(%ebp),%ecx
45c0c0:	42                   	inc    %edx
45c0c1:	8b c1                	mov    %ecx,%eax
45c0c3:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
45c0c9:	72 14                	jb     0x45c0df
45c0cb:	8b 49 fc             	mov    -0x4(%ecx),%ecx
45c0ce:	83 c2 23             	add    $0x23,%edx
45c0d1:	2b c1                	sub    %ecx,%eax
45c0d3:	83 c0 fc             	add    $0xfffffffc,%eax
45c0d6:	83 f8 1f             	cmp    $0x1f,%eax
45c0d9:	0f 87 82 00 00 00    	ja     0x45c161
45c0df:	52                   	push   %edx
45c0e0:	51                   	push   %ecx
45c0e1:	e8 6f 51 17 00       	call   0x5d1255
45c0e6:	83 c4 08             	add    $0x8,%esp
45c0e9:	32 c0                	xor    %al,%al
45c0eb:	eb 56                	jmp    0x45c143
45c0ed:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
45c0f3:	8b ce                	mov    %esi,%ecx
45c0f5:	6a 00                	push   $0x0
45c0f7:	03 c3                	add    %ebx,%eax
45c0f9:	50                   	push   %eax
45c0fa:	e8 41 ed ff ff       	call   0x45ae40
45c0ff:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
45c103:	72 02                	jb     0x45c107
45c105:	8b 36                	mov    (%esi),%esi
45c107:	8a 0d 38 3e 69 00    	mov    0x693e38,%cl
45c10d:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
45c113:	03 d6                	add    %esi,%edx
45c115:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
45c11c:	84 c9                	test   %cl,%cl
45c11e:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
45c125:	8d 4d c0             	lea    -0x40(%ebp),%ecx
45c128:	66 c7 45 ec 00 00    	movw   $0x0,-0x14(%ebp)
45c12e:	51                   	push   %ecx
45c12f:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
45c132:	8b cf                	mov    %edi,%ecx
45c134:	89 45 c0             	mov    %eax,-0x40(%ebp)
45c137:	0f 95 45 ee          	setne  -0x12(%ebp)
45c13b:	8b 07                	mov    (%edi),%eax
45c13d:	52                   	push   %edx
45c13e:	ff 50 2c             	call   *0x2c(%eax)
45c141:	b0 01                	mov    $0x1,%al
45c143:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45c146:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45c14d:	59                   	pop    %ecx
45c14e:	5f                   	pop    %edi
45c14f:	5e                   	pop    %esi
45c150:	5b                   	pop    %ebx
45c151:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45c154:	33 cd                	xor    %ebp,%ecx
45c156:	e8 cb 58 17 00       	call   0x5d1a26
45c15b:	8b e5                	mov    %ebp,%esp
45c15d:	5d                   	pop    %ebp
45c15e:	c2 04 00             	ret    $0x4
45c161:	e8 8a a0 17 00       	call   0x5d61f0
45c166:	cc                   	int3
45c167:	cc                   	int3
45c168:	cc                   	int3
45c169:	cc                   	int3
45c16a:	cc                   	int3
45c16b:	cc                   	int3
45c16c:	cc                   	int3
45c16d:	cc                   	int3
45c16e:	cc                   	int3
45c16f:	cc                   	int3
45c170:	55                   	push   %ebp
45c171:	8b ec                	mov    %esp,%ebp
45c173:	6a ff                	push   $0xffffffff
45c175:	68 b0 8a 5f 00       	push   $0x5f8ab0
45c17a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45c180:	50                   	push   %eax
45c181:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45c186:	33 c5                	xor    %ebp,%eax
45c188:	50                   	push   %eax
45c189:	8d 45 f4             	lea    -0xc(%ebp),%eax
45c18c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45c192:	8b 45 08             	mov    0x8(%ebp),%eax
45c195:	50                   	push   %eax
45c196:	e8 75 fe ff ff       	call   0x45c010
45c19b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45c19e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45c1a5:	59                   	pop    %ecx
45c1a6:	8b e5                	mov    %ebp,%esp
45c1a8:	5d                   	pop    %ebp
45c1a9:	c2 04 00             	ret    $0x4
45c1ac:	cc                   	int3
45c1ad:	cc                   	int3
45c1ae:	cc                   	int3
45c1af:	cc                   	int3
45c1b0:	cc                   	int3
45c1b1:	cc                   	int3
45c1b2:	cc                   	int3
45c1b3:	cc                   	int3
45c1b4:	cc                   	int3
45c1b5:	cc                   	int3
45c1b6:	cc                   	int3
45c1b7:	cc                   	int3
45c1b8:	cc                   	int3
45c1b9:	cc                   	int3
45c1ba:	cc                   	int3
45c1bb:	cc                   	int3
45c1bc:	cc                   	int3
45c1bd:	cc                   	int3
45c1be:	cc                   	int3
45c1bf:	cc                   	int3
45c1c0:	55                   	push   %ebp
45c1c1:	8b ec                	mov    %esp,%ebp
45c1c3:	6a ff                	push   $0xffffffff
45c1c5:	68 e5 8a 5f 00       	push   $0x5f8ae5
45c1ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45c1d0:	50                   	push   %eax
45c1d1:	83 ec 44             	sub    $0x44,%esp
45c1d4:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45c1d9:	33 c5                	xor    %ebp,%eax
45c1db:	89 45 f0             	mov    %eax,-0x10(%ebp)
45c1de:	56                   	push   %esi
45c1df:	50                   	push   %eax
45c1e0:	8d 45 f4             	lea    -0xc(%ebp),%eax
45c1e3:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45c1e9:	f6 45 10 02          	testb  $0x2,0x10(%ebp)
45c1ed:	8b 75 0c             	mov    0xc(%ebp),%esi
45c1f0:	74 07                	je     0x45c1f9
45c1f2:	b0 01                	mov    $0x1,%al
45c1f4:	e9 8b 00 00 00       	jmp    0x45c284
45c1f9:	8b 06                	mov    (%esi),%eax
45c1fb:	8b ce                	mov    %esi,%ecx
45c1fd:	8b 40 14             	mov    0x14(%eax),%eax
45c200:	ff d0                	call   *%eax
45c202:	84 c0                	test   %al,%al
45c204:	75 ec                	jne    0x45c1f2
45c206:	56                   	push   %esi
45c207:	8d 45 d8             	lea    -0x28(%ebp),%eax
45c20a:	68 b4 67 60 00       	push   $0x6067b4
45c20f:	50                   	push   %eax