45fdaf:	2b d1                	sub    %ecx,%edx
45fdb1:	d1 fa                	sar    $1,%edx
45fdb3:	52                   	push   %edx
45fdb4:	51                   	push   %ecx
45fdb5:	eb 28                	jmp    0x45fddf
45fdb7:	f6 c1 04             	test   $0x4,%cl
45fdba:	75 2e                	jne    0x45fdea
45fdbc:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
45fdc2:	8b 08                	mov    (%eax),%ecx
45fdc4:	85 c9                	test   %ecx,%ecx
45fdc6:	74 22                	je     0x45fdea
45fdc8:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
45fdce:	8b 10                	mov    (%eax),%edx
45fdd0:	8b 45 88             	mov    -0x78(%ebp),%eax
45fdd3:	8b 00                	mov    (%eax),%eax
45fdd5:	03 c0                	add    %eax,%eax
45fdd7:	2b c2                	sub    %edx,%eax
45fdd9:	03 c1                	add    %ecx,%eax
45fddb:	d1 f8                	sar    $1,%eax
45fddd:	50                   	push   %eax
45fdde:	52                   	push   %edx
45fddf:	8d 8d 28 ff ff ff    	lea    -0xd8(%ebp),%ecx
45fde5:	e8 56 55 fe ff       	call   0x445340
45fdea:	8b 8d 50 ff ff ff    	mov    -0xb0(%ebp),%ecx
45fdf0:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
45fdf6:	50                   	push   %eax
45fdf7:	e8 b4 06 fe ff       	call   0x4404b0
45fdfc:	8b 95 3c ff ff ff    	mov    -0xc4(%ebp),%edx
45fe02:	83 fa 08             	cmp    $0x8,%edx
45fe05:	72 31                	jb     0x45fe38
45fe07:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
45fe0d:	8d 14 55 02 00 00 00 	lea    0x2(,%edx,2),%edx
45fe14:	8b c1                	mov    %ecx,%eax
45fe16:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
45fe1c:	72 10                	jb     0x45fe2e
45fe1e:	8b 49 fc             	mov    -0x4(%ecx),%ecx
45fe21:	83 c2 23             	add    $0x23,%edx
45fe24:	2b c1                	sub    %ecx,%eax
45fe26:	83 c0 fc             	add    $0xfffffffc,%eax
45fe29:	83 f8 1f             	cmp    $0x1f,%eax
45fe2c:	77 32                	ja     0x45fe60
45fe2e:	52                   	push   %edx
45fe2f:	51                   	push   %ecx
45fe30:	e8 3d 12 18 00       	call   0x5e1072
45fe35:	83 c4 08             	add    $0x8,%esp
45fe38:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
45fe3e:	e8 dd eb ff ff       	call   0x45ea20
45fe43:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45fe46:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45fe4d:	59                   	pop    %ecx
45fe4e:	5f                   	pop    %edi
45fe4f:	5e                   	pop    %esi
45fe50:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45fe53:	33 cd                	xor    %ebp,%ecx
45fe55:	e8 80 16 18 00       	call   0x5e14da
45fe5a:	8b e5                	mov    %ebp,%esp
45fe5c:	5d                   	pop    %ebp
45fe5d:	c2 14 00             	ret    $0x14
45fe60:	e8 ca d0 18 00       	call   0x5ecf2f
45fe65:	cc                   	int3
45fe66:	cc                   	int3
45fe67:	cc                   	int3
45fe68:	cc                   	int3
45fe69:	cc                   	int3
45fe6a:	cc                   	int3
45fe6b:	cc                   	int3
45fe6c:	cc                   	int3
45fe6d:	cc                   	int3
45fe6e:	cc                   	int3
45fe6f:	cc                   	int3
45fe70:	55                   	push   %ebp
45fe71:	8b ec                	mov    %esp,%ebp
45fe73:	6a ff                	push   $0xffffffff
45fe75:	68 2f 07 65 00       	push   $0x65072f
45fe7a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45fe80:	50                   	push   %eax
45fe81:	51                   	push   %ecx
45fe82:	56                   	push   %esi
45fe83:	57                   	push   %edi
45fe84:	a1 d4 89 72 00       	mov    0x7289d4,%eax
45fe89:	33 c5                	xor    %ebp,%eax
45fe8b:	50                   	push   %eax
45fe8c:	8d 45 f4             	lea    -0xc(%ebp),%eax
45fe8f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45fe95:	8b f9                	mov    %ecx,%edi
45fe97:	8b 37                	mov    (%edi),%esi
45fe99:	85 f6                	test   %esi,%esi
45fe9b:	74 46                	je     0x45fee3
45fe9d:	83 c8 ff             	or     $0xffffffff,%eax
45fea0:	f0 0f c1 46 08       	lock xadd %eax,0x8(%esi)
45fea5:	48                   	dec    %eax
45fea6:	75 35                	jne    0x45fedd
45fea8:	8b 06                	mov    (%esi),%eax
45feaa:	85 c0                	test   %eax,%eax
45feac:	74 0d                	je     0x45febb
45feae:	50                   	push   %eax
45feaf:	ff 15 b0 23 68 00    	call   *0x6823b0
45feb5:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
45febb:	8b 46 04             	mov    0x4(%esi),%eax
45febe:	85 c0                	test   %eax,%eax
45fec0:	74 10                	je     0x45fed2
45fec2:	50                   	push   %eax
45fec3:	e8 c1 11 18 00       	call   0x5e1089
45fec8:	83 c4 04             	add    $0x4,%esp
45fecb:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
45fed2:	6a 0c                	push   $0xc
45fed4:	56                   	push   %esi
45fed5:	e8 98 11 18 00       	call   0x5e1072
45feda:	83 c4 08             	add    $0x8,%esp
45fedd:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
45fee3:	6a 0c                	push   $0xc
45fee5:	e8 58 11 18 00       	call   0x5e1042
45feea:	83 c4 04             	add    $0x4,%esp
45feed:	89 45 f0             	mov    %eax,-0x10(%ebp)
45fef0:	85 c0                	test   %eax,%eax
45fef2:	74 24                	je     0x45ff18
45fef4:	0f 57 c0             	xorps  %xmm0,%xmm0
45fef7:	66 0f d6 00          	movq   %xmm0,(%eax)
45fefb:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
45ff02:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
45ff09:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
45ff10:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
45ff16:	eb 02                	jmp    0x45ff1a
45ff18:	33 c0                	xor    %eax,%eax
45ff1a:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
45ff21:	89 07                	mov    %eax,(%edi)
45ff23:	85 c0                	test   %eax,%eax
45ff25:	74 11                	je     0x45ff38
45ff27:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45ff2a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45ff31:	59                   	pop    %ecx
45ff32:	5f                   	pop    %edi
45ff33:	5e                   	pop    %esi
45ff34:	8b e5                	mov    %ebp,%esp
45ff36:	5d                   	pop    %ebp
45ff37:	c3                   	ret
45ff38:	68 0e 00 07 80       	push   $0x8007000e
45ff3d:	e8 ee ec 02 00       	call   0x48ec30
45ff42:	cc                   	int3
45ff43:	cc                   	int3
45ff44:	cc                   	int3
45ff45:	cc                   	int3
45ff46:	cc                   	int3
45ff47:	cc                   	int3
45ff48:	cc                   	int3
45ff49:	cc                   	int3
45ff4a:	cc                   	int3
45ff4b:	cc                   	int3
45ff4c:	cc                   	int3
45ff4d:	cc                   	int3
45ff4e:	cc                   	int3
45ff4f:	cc                   	int3
45ff50:	55                   	push   %ebp
45ff51:	8b ec                	mov    %esp,%ebp
45ff53:	6a ff                	push   $0xffffffff
45ff55:	68 ff 0b 65 00       	push   $0x650bff
45ff5a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45ff60:	50                   	push   %eax
45ff61:	51                   	push   %ecx
45ff62:	56                   	push   %esi
45ff63:	a1 d4 89 72 00       	mov    0x7289d4,%eax
45ff68:	33 c5                	xor    %ebp,%eax
45ff6a:	50                   	push   %eax
45ff6b:	8d 45 f4             	lea    -0xc(%ebp),%eax
45ff6e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45ff74:	8b f1                	mov    %ecx,%esi
45ff76:	8b 06                	mov    (%esi),%eax
45ff78:	85 c0                	test   %eax,%eax
45ff7a:	75 44                	jne    0x45ffc0
45ff7c:	6a 0c                	push   $0xc
45ff7e:	e8 bf 10 18 00       	call   0x5e1042
45ff83:	83 c4 04             	add    $0x4,%esp
45ff86:	89 45 f0             	mov    %eax,-0x10(%ebp)
45ff89:	85 c0                	test   %eax,%eax
45ff8b:	74 24                	je     0x45ffb1
45ff8d:	0f 57 c0             	xorps  %xmm0,%xmm0
45ff90:	66 0f d6 00          	movq   %xmm0,(%eax)
45ff94:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
45ff9b:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
45ffa2:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
45ffa9:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
45ffaf:	eb 02                	jmp    0x45ffb3
45ffb1:	33 c0                	xor    %eax,%eax
45ffb3:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
45ffba:	89 06                	mov    %eax,(%esi)
45ffbc:	85 c0                	test   %eax,%eax
45ffbe:	74 10                	je     0x45ffd0
45ffc0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45ffc3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45ffca:	59                   	pop    %ecx
45ffcb:	5e                   	pop    %esi
45ffcc:	8b e5                	mov    %ebp,%esp
45ffce:	5d                   	pop    %ebp
45ffcf:	c3                   	ret
45ffd0:	68 0e 00 07 80       	push   $0x8007000e
45ffd5:	e8 56 ec 02 00       	call   0x48ec30
45ffda:	cc                   	int3
45ffdb:	cc                   	int3
45ffdc:	cc                   	int3
45ffdd:	cc                   	int3
45ffde:	cc                   	int3
45ffdf:	cc                   	int3
45ffe0:	55                   	push   %ebp
45ffe1:	8b ec                	mov    %esp,%ebp
45ffe3:	81 ec 08 01 00 00    	sub    $0x108,%esp
45ffe9:	a1 d4 89 72 00       	mov    0x7289d4,%eax
45ffee:	33 c5                	xor    %ebp,%eax
45fff0:	89 45 fc             	mov    %eax,-0x4(%ebp)
45fff3:	56                   	push   %esi
45fff4:	8b 75 08             	mov    0x8(%ebp),%esi
45fff7:	8b c6                	mov    %esi,%eax
45fff9:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
460000:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
460004:	72 02                	jb     0x460008
460006:	8b 06                	mov    (%esi),%eax
460008:	68 04 01 00 00       	push   $0x104
46000d:	c6 00 00             	movb   $0x0,(%eax)
460010:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
460016:	6a 00                	push   $0x0
460018:	50                   	push   %eax
460019:	e8 e2 39 18 00       	call   0x5e3a00
46001e:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
460024:	6a 01                	push   $0x1
460026:	50                   	push   %eax
460027:	e8 a4 94 fe ff       	call   0x4494d0
46002c:	68 b4 b0 68 00       	push   $0x68b0b4
460031:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
460037:	68 04 01 00 00       	push   $0x104
46003c:	50                   	push   %eax
46003d:	e8 fe 83 00 00       	call   0x468440
460042:	68 b4 c4 68 00       	push   $0x68c4b4
460047:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
46004d:	68 04 01 00 00       	push   $0x104
460052:	50                   	push   %eax
460053:	e8 e8 83 00 00       	call   0x468440
460058:	68 b4 b0 68 00       	push   $0x68b0b4
46005d:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
460063:	68 04 01 00 00       	push   $0x104
460068:	50                   	push   %eax
460069:	e8 d2 83 00 00       	call   0x468440
46006e:	68 90 bc 68 00       	push   $0x68bc90
460073:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
460079:	68 04 01 00 00       	push   $0x104
46007e:	50                   	push   %eax
46007f:	e8 bc 83 00 00       	call   0x468440
460084:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
46008a:	83 c4 44             	add    $0x44,%esp
46008d:	8d 50 01             	lea    0x1(%eax),%edx
460090:	8a 08                	mov    (%eax),%cl
460092:	40                   	inc    %eax
460093:	84 c9                	test   %cl,%cl
460095:	75 f9                	jne    0x460090
460097:	2b c2                	sub    %edx,%eax
460099:	8b ce                	mov    %esi,%ecx
46009b:	50                   	push   %eax
46009c:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
4600a2:	50                   	push   %eax
4600a3:	e8 18 50 fe ff       	call   0x4450c0
4600a8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4600ab:	33 cd                	xor    %ebp,%ecx
4600ad:	5e                   	pop    %esi
4600ae:	e8 27 14 18 00       	call   0x5e14da
4600b3:	8b e5                	mov    %ebp,%esp
4600b5:	5d                   	pop    %ebp
4600b6:	c3                   	ret
4600b7:	cc                   	int3
4600b8:	cc                   	int3
4600b9:	cc                   	int3
4600ba:	cc                   	int3
4600bb:	cc                   	int3
4600bc:	cc                   	int3
4600bd:	cc                   	int3
4600be:	cc                   	int3
4600bf:	cc                   	int3
4600c0:	55                   	push   %ebp
4600c1:	8b ec                	mov    %esp,%ebp
4600c3:	6a ff                	push   $0xffffffff
4600c5:	68 50 0c 65 00       	push   $0x650c50
4600ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4600d0:	50                   	push   %eax
4600d1:	83 ec 54             	sub    $0x54,%esp
4600d4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4600d9:	33 c5                	xor    %ebp,%eax
4600db:	89 45 f0             	mov    %eax,-0x10(%ebp)
4600de:	53                   	push   %ebx
4600df:	56                   	push   %esi
4600e0:	57                   	push   %edi
4600e1:	50                   	push   %eax
4600e2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4600e5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4600eb:	8b d9                	mov    %ecx,%ebx
4600ed:	8b 55 08             	mov    0x8(%ebp),%edx
4600f0:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4600f7:	8b 02                	mov    (%edx),%eax
4600f9:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4600fc:	51                   	push   %ecx
4600fd:	52                   	push   %edx
4600fe:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
460105:	8b 70 4c             	mov    0x4c(%eax),%esi
460108:	8b ce                	mov    %esi,%ecx
46010a:	ff 15 e0 24 68 00    	call   *0x6824e0
460110:	ff d6                	call   *%esi
460112:	85 c0                	test   %eax,%eax
460114:	0f 88 cc 02 00 00    	js     0x4603e6
46011a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46011d:	85 c0                	test   %eax,%eax
46011f:	0f 84 c1 02 00 00    	je     0x4603e6
460125:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
46012c:	8d 55 a8             	lea    -0x58(%ebp),%edx
46012f:	8b 08                	mov    (%eax),%ecx
460131:	52                   	push   %edx
460132:	50                   	push   %eax
460133:	8b 71 44             	mov    0x44(%ecx),%esi
460136:	8b ce                	mov    %esi,%ecx
460138:	ff 15 e0 24 68 00    	call   *0x6824e0
46013e:	ff d6                	call   *%esi
460140:	85 c0                	test   %eax,%eax
460142:	0f 88 97 02 00 00    	js     0x4603df
460148:	8b 4d a8             	mov    -0x58(%ebp),%ecx
46014b:	85 c9                	test   %ecx,%ecx
46014d:	0f 84 8c 02 00 00    	je     0x4603df
460153:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
46015a:	8d 55 e0             	lea    -0x20(%ebp),%edx
46015d:	8b 01                	mov    (%ecx),%eax
46015f:	52                   	push   %edx
460160:	51                   	push   %ecx
460161:	8b 70 1c             	mov    0x1c(%eax),%esi
460164:	8b ce                	mov    %esi,%ecx
460166:	ff 15 e0 24 68 00    	call   *0x6824e0
46016c:	ff d6                	call   *%esi
46016e:	85 c0                	test   %eax,%eax
460170:	79 0a                	jns    0x46017c
460172:	68 d0 f9 68 00       	push   $0x68f9d0
460177:	e9 6f 02 00 00       	jmp    0x4603eb
46017c:	83 7d e0 01          	cmpl   $0x1,-0x20(%ebp)
460180:	74 0a                	je     0x46018c
460182:	68 f0 f9 68 00       	push   $0x68f9f0
460187:	e9 5f 02 00 00       	jmp    0x4603eb
46018c:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
460193:	8b 45 a8             	mov    -0x58(%ebp),%eax
460196:	8d 4d ec             	lea    -0x14(%ebp),%ecx
460199:	51                   	push   %ecx
46019a:	6a 01                	push   $0x1
46019c:	50                   	push   %eax
46019d:	8b 30                	mov    (%eax),%esi
46019f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4601a3:	8b 76 20             	mov    0x20(%esi),%esi
4601a6:	8b ce                	mov    %esi,%ecx
4601a8:	ff 15 e0 24 68 00    	call   *0x6824e0
4601ae:	ff d6                	call   *%esi