46afd1:	52                   	push   %edx
46afd2:	ff 71 10             	push   0x10(%ecx)
46afd5:	56                   	push   %esi
46afd6:	e8 35 35 00 00       	call   0x46e510
46afdb:	83 c4 10             	add    $0x10,%esp
46afde:	c1 e8 1f             	shr    $0x1f,%eax
46afe1:	5e                   	pop    %esi
46afe2:	5d                   	pop    %ebp
46afe3:	c3                   	ret
46afe4:	cc                   	int3
46afe5:	cc                   	int3
46afe6:	cc                   	int3
46afe7:	cc                   	int3
46afe8:	cc                   	int3
46afe9:	cc                   	int3
46afea:	cc                   	int3
46afeb:	cc                   	int3
46afec:	cc                   	int3
46afed:	cc                   	int3
46afee:	cc                   	int3
46afef:	cc                   	int3
46aff0:	55                   	push   %ebp
46aff1:	8b ec                	mov    %esp,%ebp
46aff3:	8b 45 08             	mov    0x8(%ebp),%eax
46aff6:	56                   	push   %esi
46aff7:	57                   	push   %edi
46aff8:	ff 75 10             	push   0x10(%ebp)
46affb:	8d 34 c5 00 00 00 00 	lea    0x0(,%eax,8),%esi
46b002:	8b c6                	mov    %esi,%eax
46b004:	83 c8 03             	or     $0x3,%eax
46b007:	50                   	push   %eax
46b008:	e8 b3 5a fe ff       	call   0x450ac0
46b00d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46b010:	83 c4 08             	add    $0x8,%esp
46b013:	8b 7d 14             	mov    0x14(%ebp),%edi
46b016:	8b 11                	mov    (%ecx),%edx
46b018:	57                   	push   %edi
46b019:	50                   	push   %eax
46b01a:	ff 52 2c             	call   *0x2c(%edx)
46b01d:	3b 07                	cmp    (%edi),%eax
46b01f:	72 08                	jb     0x46b029
46b021:	50                   	push   %eax
46b022:	8b cf                	mov    %edi,%ecx
46b024:	e8 47 e5 fe ff       	call   0x459570
46b029:	50                   	push   %eax
46b02a:	83 ce 04             	or     $0x4,%esi
46b02d:	56                   	push   %esi
46b02e:	e8 8d 5a fe ff       	call   0x450ac0
46b033:	83 c4 08             	add    $0x8,%esp
46b036:	5f                   	pop    %edi
46b037:	5e                   	pop    %esi
46b038:	5d                   	pop    %ebp
46b039:	c3                   	ret
46b03a:	cc                   	int3
46b03b:	cc                   	int3
46b03c:	cc                   	int3
46b03d:	cc                   	int3
46b03e:	cc                   	int3
46b03f:	cc                   	int3
46b040:	55                   	push   %ebp
46b041:	8b ec                	mov    %esp,%ebp
46b043:	8b 45 08             	mov    0x8(%ebp),%eax
46b046:	56                   	push   %esi
46b047:	57                   	push   %edi
46b048:	ff 75 10             	push   0x10(%ebp)
46b04b:	c1 e0 03             	shl    $0x3,%eax
46b04e:	83 c8 02             	or     $0x2,%eax
46b051:	50                   	push   %eax
46b052:	e8 69 5a fe ff       	call   0x450ac0
46b057:	8b 7d 0c             	mov    0xc(%ebp),%edi
46b05a:	83 c4 08             	add    $0x8,%esp
46b05d:	8b cf                	mov    %edi,%ecx
46b05f:	8b f0                	mov    %eax,%esi
46b061:	8b 17                	mov    (%edi),%edx
46b063:	ff 52 24             	call   *0x24(%edx)
46b066:	56                   	push   %esi
46b067:	50                   	push   %eax
46b068:	e8 53 5a fe ff       	call   0x450ac0
46b06d:	8b 17                	mov    (%edi),%edx
46b06f:	83 c4 08             	add    $0x8,%esp
46b072:	8b cf                	mov    %edi,%ecx
46b074:	ff 75 14             	push   0x14(%ebp)
46b077:	50                   	push   %eax
46b078:	ff 52 2c             	call   *0x2c(%edx)
46b07b:	5f                   	pop    %edi
46b07c:	5e                   	pop    %esi
46b07d:	5d                   	pop    %ebp
46b07e:	c3                   	ret
46b07f:	cc                   	int3
46b080:	55                   	push   %ebp
46b081:	8b ec                	mov    %esp,%ebp
46b083:	8b 4d 08             	mov    0x8(%ebp),%ecx
46b086:	8b 01                	mov    (%ecx),%eax
46b088:	ff 50 20             	call   *0x20(%eax)
46b08b:	8b d0                	mov    %eax,%edx
46b08d:	8b ca                	mov    %edx,%ecx
46b08f:	83 c9 01             	or     $0x1,%ecx
46b092:	0f bd c9             	bsr    %ecx,%ecx
46b095:	8d 04 cd 49 00 00 00 	lea    0x49(,%ecx,8),%eax
46b09c:	03 c1                	add    %ecx,%eax
46b09e:	c1 e8 06             	shr    $0x6,%eax
46b0a1:	03 c2                	add    %edx,%eax
46b0a3:	5d                   	pop    %ebp
46b0a4:	c3                   	ret
46b0a5:	cc                   	int3
46b0a6:	cc                   	int3
46b0a7:	cc                   	int3
46b0a8:	cc                   	int3
46b0a9:	cc                   	int3
46b0aa:	cc                   	int3
46b0ab:	cc                   	int3
46b0ac:	cc                   	int3
46b0ad:	cc                   	int3
46b0ae:	cc                   	int3
46b0af:	cc                   	int3
46b0b0:	55                   	push   %ebp
46b0b1:	8b ec                	mov    %esp,%ebp
46b0b3:	83 ec 10             	sub    $0x10,%esp
46b0b6:	53                   	push   %ebx
46b0b7:	56                   	push   %esi
46b0b8:	8b 75 08             	mov    0x8(%ebp),%esi
46b0bb:	57                   	push   %edi
46b0bc:	3b 75 0c             	cmp    0xc(%ebp),%esi
46b0bf:	0f 83 88 00 00 00    	jae    0x46b14d
46b0c5:	0f b6 1e             	movzbl (%esi),%ebx
46b0c8:	84 db                	test   %bl,%bl
46b0ca:	78 05                	js     0x46b0d1
46b0cc:	33 ff                	xor    %edi,%edi
46b0ce:	46                   	inc    %esi
46b0cf:	eb 30                	jmp    0x46b101
46b0d1:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
46b0d5:	83 c3 80             	add    $0xffffff80,%ebx
46b0d8:	8b c1                	mov    %ecx,%eax
46b0da:	c1 e0 07             	shl    $0x7,%eax
46b0dd:	03 d8                	add    %eax,%ebx
46b0df:	84 c9                	test   %cl,%cl
46b0e1:	78 07                	js     0x46b0ea
46b0e3:	33 ff                	xor    %edi,%edi
46b0e5:	83 c6 02             	add    $0x2,%esi
46b0e8:	eb 17                	jmp    0x46b101
46b0ea:	53                   	push   %ebx
46b0eb:	8d 45 f0             	lea    -0x10(%ebp),%eax
46b0ee:	56                   	push   %esi
46b0ef:	50                   	push   %eax
46b0f0:	e8 eb 49 ff ff       	call   0x45fae0
46b0f5:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b0f8:	83 c4 0c             	add    $0xc,%esp
46b0fb:	8b 7d fc             	mov    -0x4(%ebp),%edi
46b0fe:	8b 75 f0             	mov    -0x10(%ebp),%esi
46b101:	85 f6                	test   %esi,%esi
46b103:	74 51                	je     0x46b156
46b105:	8b 4d 14             	mov    0x14(%ebp),%ecx
46b108:	53                   	push   %ebx
46b109:	e8 22 29 03 00       	call   0x49da30
46b10e:	8b c8                	mov    %eax,%ecx
46b110:	e8 db 62 02 00       	call   0x4913f0
46b115:	85 c0                	test   %eax,%eax
46b117:	74 11                	je     0x46b12a
46b119:	8b 4d 10             	mov    0x10(%ebp),%ecx
46b11c:	8d 45 08             	lea    0x8(%ebp),%eax
46b11f:	50                   	push   %eax
46b120:	89 5d 08             	mov    %ebx,0x8(%ebp)
46b123:	e8 f8 1d ff ff       	call   0x45cf20
46b128:	eb 1a                	jmp    0x46b144
46b12a:	ff 75 1c             	push   0x1c(%ebp)
46b12d:	8b 4d 18             	mov    0x18(%ebp),%ecx
46b130:	e8 fb b7 ff ff       	call   0x466930
46b135:	8b c8                	mov    %eax,%ecx
46b137:	8b 45 14             	mov    0x14(%ebp),%eax
46b13a:	57                   	push   %edi
46b13b:	53                   	push   %ebx
46b13c:	ff 70 28             	push   0x28(%eax)
46b13f:	e8 dc 55 ff ff       	call   0x460720
46b144:	3b 75 0c             	cmp    0xc(%ebp),%esi
46b147:	0f 82 78 ff ff ff    	jb     0x46b0c5
46b14d:	5f                   	pop    %edi
46b14e:	8b c6                	mov    %esi,%eax
46b150:	5e                   	pop    %esi
46b151:	5b                   	pop    %ebx
46b152:	8b e5                	mov    %ebp,%esp
46b154:	5d                   	pop    %ebp
46b155:	c3                   	ret
46b156:	5f                   	pop    %edi
46b157:	5e                   	pop    %esi
46b158:	33 c0                	xor    %eax,%eax
46b15a:	5b                   	pop    %ebx
46b15b:	8b e5                	mov    %ebp,%esp
46b15d:	5d                   	pop    %ebp
46b15e:	c3                   	ret
46b15f:	cc                   	int3
46b160:	55                   	push   %ebp
46b161:	8b ec                	mov    %esp,%ebp
46b163:	8b 55 0c             	mov    0xc(%ebp),%edx
46b166:	8b 45 08             	mov    0x8(%ebp),%eax
46b169:	56                   	push   %esi
46b16a:	57                   	push   %edi
46b16b:	8b 7d 10             	mov    0x10(%ebp),%edi
46b16e:	8d 77 01             	lea    0x1(%edi),%esi
46b171:	85 d2                	test   %edx,%edx
46b173:	77 11                	ja     0x46b186
46b175:	72 07                	jb     0x46b17e
46b177:	3d 80 00 00 00       	cmp    $0x80,%eax
46b17c:	73 08                	jae    0x46b186
46b17e:	88 07                	mov    %al,(%edi)
46b180:	8b c6                	mov    %esi,%eax
46b182:	5f                   	pop    %edi
46b183:	5e                   	pop    %esi
46b184:	5d                   	pop    %ebp
46b185:	c3                   	ret
46b186:	8a c8                	mov    %al,%cl
46b188:	0f ac d0 07          	shrd   $0x7,%edx,%eax
46b18c:	80 c9 80             	or     $0x80,%cl
46b18f:	c1 ea 07             	shr    $0x7,%edx
46b192:	88 0f                	mov    %cl,(%edi)
46b194:	85 d2                	test   %edx,%edx
46b196:	77 18                	ja     0x46b1b0
46b198:	72 07                	jb     0x46b1a1
46b19a:	3d 80 00 00 00       	cmp    $0x80,%eax
46b19f:	73 0f                	jae    0x46b1b0
46b1a1:	88 06                	mov    %al,(%esi)
46b1a3:	8d 47 02             	lea    0x2(%edi),%eax
46b1a6:	5f                   	pop    %edi
46b1a7:	5e                   	pop    %esi
46b1a8:	5d                   	pop    %ebp
46b1a9:	c3                   	ret
46b1aa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
46b1b0:	8a c8                	mov    %al,%cl
46b1b2:	8d 76 01             	lea    0x1(%esi),%esi
46b1b5:	0f ac d0 07          	shrd   $0x7,%edx,%eax
46b1b9:	80 c9 80             	or     $0x80,%cl
46b1bc:	c1 ea 07             	shr    $0x7,%edx
46b1bf:	88 4e ff             	mov    %cl,-0x1(%esi)
46b1c2:	85 d2                	test   %edx,%edx
46b1c4:	77 ea                	ja     0x46b1b0
46b1c6:	72 07                	jb     0x46b1cf
46b1c8:	3d 80 00 00 00       	cmp    $0x80,%eax
46b1cd:	73 e1                	jae    0x46b1b0
46b1cf:	88 06                	mov    %al,(%esi)
46b1d1:	8d 46 01             	lea    0x1(%esi),%eax
46b1d4:	5f                   	pop    %edi
46b1d5:	5e                   	pop    %esi
46b1d6:	5d                   	pop    %ebp
46b1d7:	c3                   	ret
46b1d8:	cc                   	int3
46b1d9:	cc                   	int3
46b1da:	cc                   	int3
46b1db:	cc                   	int3
46b1dc:	cc                   	int3
46b1dd:	cc                   	int3
46b1de:	cc                   	int3
46b1df:	cc                   	int3
46b1e0:	55                   	push   %ebp
46b1e1:	8b ec                	mov    %esp,%ebp
46b1e3:	51                   	push   %ecx
46b1e4:	53                   	push   %ebx
46b1e5:	56                   	push   %esi
46b1e6:	8b 75 0c             	mov    0xc(%ebp),%esi
46b1e9:	8b c1                	mov    %ecx,%eax
46b1eb:	57                   	push   %edi
46b1ec:	8b 7d 10             	mov    0x10(%ebp),%edi
46b1ef:	89 45 fc             	mov    %eax,-0x4(%ebp)
46b1f2:	8b 5e 10             	mov    0x10(%esi),%ebx
46b1f5:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
46b1fb:	7d 7f                	jge    0x46b27c
46b1fd:	8b 55 08             	mov    0x8(%ebp),%edx
46b200:	c1 e2 03             	shl    $0x3,%edx
46b203:	81 fa 80 00 00 00    	cmp    $0x80,%edx
46b209:	73 07                	jae    0x46b212
46b20b:	b9 01 00 00 00       	mov    $0x1,%ecx
46b210:	eb 29                	jmp    0x46b23b
46b212:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
46b218:	73 07                	jae    0x46b221
46b21a:	b9 02 00 00 00       	mov    $0x2,%ecx
46b21f:	eb 1a                	jmp    0x46b23b
46b221:	81 fa 00 00 20 00    	cmp    $0x200000,%edx
46b227:	73 07                	jae    0x46b230
46b229:	b9 03 00 00 00       	mov    $0x3,%ecx
46b22e:	eb 0b                	jmp    0x46b23b
46b230:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
46b236:	1b c9                	sbb    %ecx,%ecx
46b238:	83 c1 05             	add    $0x5,%ecx
46b23b:	8b 00                	mov    (%eax),%eax
46b23d:	2b c1                	sub    %ecx,%eax
46b23f:	2b c7                	sub    %edi,%eax
46b241:	83 c0 0f             	add    $0xf,%eax
46b244:	3b c3                	cmp    %ebx,%eax
46b246:	7c 31                	jl     0x46b279
46b248:	83 ca 02             	or     $0x2,%edx
46b24b:	57                   	push   %edi
46b24c:	52                   	push   %edx
46b24d:	e8 6e 58 fe ff       	call   0x450ac0
46b252:	8b f8                	mov    %eax,%edi
46b254:	83 c4 08             	add    $0x8,%esp
46b257:	88 1f                	mov    %bl,(%edi)
46b259:	47                   	inc    %edi
46b25a:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
46b25e:	72 02                	jb     0x46b262
46b260:	8b 36                	mov    (%esi),%esi
46b262:	53                   	push   %ebx
46b263:	56                   	push   %esi
46b264:	57                   	push   %edi
46b265:	e8 66 7b 16 00       	call   0x5d2dd0
46b26a:	83 c4 0c             	add    $0xc,%esp
46b26d:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
46b270:	5f                   	pop    %edi
46b271:	5e                   	pop    %esi
46b272:	5b                   	pop    %ebx
46b273:	8b e5                	mov    %ebp,%esp
46b275:	5d                   	pop    %ebp
46b276:	c2 0c 00             	ret    $0xc
46b279:	8b 45 fc             	mov    -0x4(%ebp),%eax
46b27c:	57                   	push   %edi
46b27d:	56                   	push   %esi
46b27e:	ff 75 08             	push   0x8(%ebp)
46b281:	8b c8                	mov    %eax,%ecx
46b283:	e8 b8 f9 fe ff       	call   0x45ac40
46b288:	5f                   	pop    %edi
46b289:	5e                   	pop    %esi
46b28a:	5b                   	pop    %ebx
46b28b:	8b e5                	mov    %ebp,%esp
46b28d:	5d                   	pop    %ebp
46b28e:	c2 0c 00             	ret    $0xc
46b291:	cc                   	int3
46b292:	cc                   	int3
46b293:	cc                   	int3
46b294:	cc                   	int3
46b295:	cc                   	int3
46b296:	cc                   	int3
46b297:	cc                   	int3
46b298:	cc                   	int3
46b299:	cc                   	int3
46b29a:	cc                   	int3
46b29b:	cc                   	int3
46b29c:	cc                   	int3
46b29d:	cc                   	int3
46b29e:	cc                   	int3
46b29f:	cc                   	int3
46b2a0:	55                   	push   %ebp
46b2a1:	8b ec                	mov    %esp,%ebp
46b2a3:	83 ec 0c             	sub    $0xc,%esp
46b2a6:	8b 45 14             	mov    0x14(%ebp),%eax
46b2a9:	53                   	push   %ebx
46b2aa:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46b2ad:	56                   	push   %esi
46b2ae:	8b f1                	mov    %ecx,%esi
46b2b0:	89 5d fc             	mov    %ebx,-0x4(%ebp)
46b2b3:	8b 4d 18             	mov    0x18(%ebp),%ecx
46b2b6:	57                   	push   %edi
46b2b7:	8b 7d 08             	mov    0x8(%ebp),%edi
46b2ba:	89 75 f4             	mov    %esi,-0xc(%ebp)