46add2:	68 c8 76 60 00       	push   $0x6076c8
46add7:	8b ce                	mov    %esi,%ecx
46add9:	e8 a2 e0 fe ff       	call   0x458e80
46adde:	8b 47 04             	mov    0x4(%edi),%eax
46ade1:	8b c8                	mov    %eax,%ecx
46ade3:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
46ade7:	72 02                	jb     0x46adeb
46ade9:	8b 08                	mov    (%eax),%ecx
46adeb:	ff 70 10             	push   0x10(%eax)
46adee:	51                   	push   %ecx
46adef:	8b ce                	mov    %esi,%ecx
46adf1:	e8 8a e0 fe ff       	call   0x458e80
46adf6:	6a 01                	push   $0x1
46adf8:	68 c4 76 60 00       	push   $0x6076c4
46adfd:	eb 10                	jmp    0x46ae0f
46adff:	8b 07                	mov    (%edi),%eax
46ae01:	8b c8                	mov    %eax,%ecx
46ae03:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
46ae07:	72 02                	jb     0x46ae0b
46ae09:	8b 08                	mov    (%eax),%ecx
46ae0b:	ff 70 10             	push   0x10(%eax)
46ae0e:	51                   	push   %ecx
46ae0f:	8b ce                	mov    %esi,%ecx
46ae11:	e8 6a e0 fe ff       	call   0x458e80
46ae16:	8b 7d 14             	mov    0x14(%ebp),%edi
46ae19:	83 ff ff             	cmp    $0xffffffff,%edi
46ae1c:	0f 84 b8 00 00 00    	je     0x46aeda
46ae22:	6a 01                	push   $0x1
46ae24:	68 cc 76 60 00       	push   $0x6076cc
46ae29:	8b ce                	mov    %esi,%ecx
46ae2b:	e8 50 e0 fe ff       	call   0x458e80
46ae30:	8d 45 b8             	lea    -0x48(%ebp),%eax
46ae33:	50                   	push   %eax
46ae34:	57                   	push   %edi
46ae35:	89 45 b0             	mov    %eax,-0x50(%ebp)
46ae38:	e8 d3 49 03 00       	call   0x49f810
46ae3d:	83 c4 08             	add    $0x8,%esp
46ae40:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
46ae47:	8d 55 b0             	lea    -0x50(%ebp),%edx
46ae4a:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46ae51:	b9 f8 ff ff ff       	mov    $0xfffffff8,%ecx
46ae56:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
46ae5d:	2b ca                	sub    %edx,%ecx
46ae5f:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
46ae63:	03 c1                	add    %ecx,%eax
46ae65:	8d 4d d8             	lea    -0x28(%ebp),%ecx
46ae68:	50                   	push   %eax
46ae69:	ff 75 b0             	push   -0x50(%ebp)
46ae6c:	89 45 b4             	mov    %eax,-0x4c(%ebp)
46ae6f:	e8 ac c7 fd ff       	call   0x447620
46ae74:	c7 45 ac 03 00 00 00 	movl   $0x3,-0x54(%ebp)
46ae7b:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
46ae7f:	8d 45 d8             	lea    -0x28(%ebp),%eax
46ae82:	ff 75 e8             	push   -0x18(%ebp)
46ae85:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
46ae89:	8b ce                	mov    %esi,%ecx
46ae8b:	50                   	push   %eax
46ae8c:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46ae93:	e8 e8 df fe ff       	call   0x458e80
46ae98:	8b 55 ec             	mov    -0x14(%ebp),%edx
46ae9b:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
46ae9f:	83 fa 10             	cmp    $0x10,%edx
46aea2:	72 28                	jb     0x46aecc
46aea4:	8b 4d d8             	mov    -0x28(%ebp),%ecx
46aea7:	42                   	inc    %edx
46aea8:	8b c1                	mov    %ecx,%eax
46aeaa:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
46aeb0:	72 10                	jb     0x46aec2
46aeb2:	8b 49 fc             	mov    -0x4(%ecx),%ecx
46aeb5:	83 c2 23             	add    $0x23,%edx
46aeb8:	2b c1                	sub    %ecx,%eax
46aeba:	83 c0 fc             	add    $0xfffffffc,%eax
46aebd:	83 f8 1f             	cmp    $0x1f,%eax
46aec0:	77 43                	ja     0x46af05
46aec2:	52                   	push   %edx
46aec3:	51                   	push   %ecx
46aec4:	e8 8c 63 16 00       	call   0x5d1255
46aec9:	83 c4 08             	add    $0x8,%esp
46aecc:	6a 01                	push   $0x1
46aece:	68 d0 76 60 00       	push   $0x6076d0
46aed3:	8b ce                	mov    %esi,%ecx
46aed5:	e8 a6 df fe ff       	call   0x458e80
46aeda:	6a 01                	push   $0x1
46aedc:	68 68 67 60 00       	push   $0x606768
46aee1:	8b ce                	mov    %esi,%ecx
46aee3:	e8 98 df fe ff       	call   0x458e80
46aee8:	8b c6                	mov    %esi,%eax
46aeea:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46aeed:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46aef4:	59                   	pop    %ecx
46aef5:	5f                   	pop    %edi
46aef6:	5e                   	pop    %esi
46aef7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46aefa:	33 cd                	xor    %ebp,%ecx
46aefc:	e8 25 6b 16 00       	call   0x5d1a26
46af01:	8b e5                	mov    %ebp,%esp
46af03:	5d                   	pop    %ebp
46af04:	c3                   	ret
46af05:	e8 e6 b2 16 00       	call   0x5d61f0
46af0a:	cc                   	int3
46af0b:	cc                   	int3
46af0c:	cc                   	int3
46af0d:	cc                   	int3
46af0e:	cc                   	int3
46af0f:	cc                   	int3
46af10:	55                   	push   %ebp
46af11:	8b ec                	mov    %esp,%ebp
46af13:	6a ff                	push   $0xffffffff
46af15:	68 6d 97 5f 00       	push   $0x5f976d
46af1a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
46af20:	50                   	push   %eax
46af21:	83 ec 2c             	sub    $0x2c,%esp
46af24:	a1 c0 14 69 00       	mov    0x6914c0,%eax
46af29:	33 c5                	xor    %ebp,%eax
46af2b:	89 45 f0             	mov    %eax,-0x10(%ebp)
46af2e:	56                   	push   %esi
46af2f:	50                   	push   %eax
46af30:	8d 45 f4             	lea    -0xc(%ebp),%eax
46af33:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46af39:	8b f1                	mov    %ecx,%esi
46af3b:	8b 46 04             	mov    0x4(%esi),%eax
46af3e:	85 c0                	test   %eax,%eax
46af40:	74 05                	je     0x46af47
46af42:	83 3e 00             	cmpl   $0x0,(%esi)
46af45:	75 47                	jne    0x46af8e
46af47:	68 e8 02 00 00       	push   $0x2e8
46af4c:	68 48 74 60 00       	push   $0x607448
46af51:	6a 03                	push   $0x3
46af53:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46af56:	e8 85 a3 00 00       	call   0x4752e0
46af5b:	68 2c 75 60 00       	push   $0x60752c
46af60:	68 ac 74 60 00       	push   $0x6074ac
46af65:	8b c8                	mov    %eax,%ecx
46af67:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46af6e:	e8 7d a9 00 00       	call   0x4758f0
46af73:	8b c8                	mov    %eax,%ecx
46af75:	e8 76 a9 00 00       	call   0x4758f0
46af7a:	50                   	push   %eax
46af7b:	8d 4d cb             	lea    -0x35(%ebp),%ecx
46af7e:	e8 fd a6 00 00       	call   0x475680
46af83:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46af86:	e8 85 a6 00 00       	call   0x475610
46af8b:	8b 46 04             	mov    0x4(%esi),%eax
46af8e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46af91:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46af98:	59                   	pop    %ecx
46af99:	5e                   	pop    %esi
46af9a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46af9d:	33 cd                	xor    %ebp,%ecx
46af9f:	e8 82 6a 16 00       	call   0x5d1a26
46afa4:	8b e5                	mov    %ebp,%esp
46afa6:	5d                   	pop    %ebp
46afa7:	c3                   	ret
46afa8:	cc                   	int3
46afa9:	cc                   	int3
46afaa:	cc                   	int3
46afab:	cc                   	int3
46afac:	cc                   	int3
46afad:	cc                   	int3
46afae:	cc                   	int3
46afaf:	cc                   	int3
46afb0:	55                   	push   %ebp
46afb1:	8b ec                	mov    %esp,%ebp
46afb3:	8b 45 0c             	mov    0xc(%ebp),%eax
46afb6:	8b d0                	mov    %eax,%edx
46afb8:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
46afbc:	72 02                	jb     0x46afc0
46afbe:	8b 10                	mov    (%eax),%edx
46afc0:	8b 4d 08             	mov    0x8(%ebp),%ecx
46afc3:	56                   	push   %esi
46afc4:	8b f1                	mov    %ecx,%esi
46afc6:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
46afca:	72 02                	jb     0x46afce
46afcc:	8b 31                	mov    (%ecx),%esi
46afce:	ff 70 10             	push   0x10(%eax)
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