46af2a:	5d                   	pop    %ebp
46af2b:	c3                   	ret
46af2c:	55                   	push   %ebp
46af2d:	8b ec                	mov    %esp,%ebp
46af2f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46af32:	8b 55 08             	mov    0x8(%ebp),%edx
46af35:	56                   	push   %esi
46af36:	8b 01                	mov    (%ecx),%eax
46af38:	8b 71 04             	mov    0x4(%ecx),%esi
46af3b:	03 c2                	add    %edx,%eax
46af3d:	85 f6                	test   %esi,%esi
46af3f:	78 0d                	js     0x46af4e
46af41:	8b 49 08             	mov    0x8(%ecx),%ecx
46af44:	8b 14 16             	mov    (%esi,%edx,1),%edx
46af47:	8b 0c 0a             	mov    (%edx,%ecx,1),%ecx
46af4a:	03 ce                	add    %esi,%ecx
46af4c:	03 c1                	add    %ecx,%eax
46af4e:	5e                   	pop    %esi
46af4f:	5d                   	pop    %ebp
46af50:	c3                   	ret
46af51:	55                   	push   %ebp
46af52:	8b ec                	mov    %esp,%ebp
46af54:	56                   	push   %esi
46af55:	8b 75 08             	mov    0x8(%ebp),%esi
46af58:	57                   	push   %edi
46af59:	8b 3e                	mov    (%esi),%edi
46af5b:	81 3f 52 43 43 e0    	cmpl   $0xe0434352,(%edi)
46af61:	74 12                	je     0x46af75
46af63:	81 3f 4d 4f 43 e0    	cmpl   $0xe0434f4d,(%edi)
46af69:	74 0a                	je     0x46af75
46af6b:	81 3f 63 73 6d e0    	cmpl   $0xe06d7363,(%edi)
46af71:	74 1b                	je     0x46af8e
46af73:	eb 13                	jmp    0x46af88
46af75:	e8 22 25 00 00       	call   0x46d49c
46af7a:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
46af7e:	7e 08                	jle    0x46af88
46af80:	e8 17 25 00 00       	call   0x46d49c
46af85:	ff 48 18             	decl   0x18(%eax)
46af88:	5f                   	pop    %edi
46af89:	33 c0                	xor    %eax,%eax
46af8b:	5e                   	pop    %esi
46af8c:	5d                   	pop    %ebp
46af8d:	c3                   	ret
46af8e:	e8 09 25 00 00       	call   0x46d49c
46af93:	89 78 10             	mov    %edi,0x10(%eax)
46af96:	8b 76 04             	mov    0x4(%esi),%esi
46af99:	e8 fe 24 00 00       	call   0x46d49c
46af9e:	89 70 14             	mov    %esi,0x14(%eax)
46afa1:	e8 a9 a7 01 00       	call   0x48574f
46afa6:	cc                   	int3
46afa7:	e8 f0 24 00 00       	call   0x46d49c
46afac:	83 c0 10             	add    $0x10,%eax
46afaf:	c3                   	ret
46afb0:	e8 e7 24 00 00       	call   0x46d49c
46afb5:	83 c0 14             	add    $0x14,%eax
46afb8:	c3                   	ret
46afb9:	cc                   	int3
46afba:	cc                   	int3
46afbb:	cc                   	int3
46afbc:	cc                   	int3
46afbd:	cc                   	int3
46afbe:	cc                   	int3
46afbf:	cc                   	int3
46afc0:	e9 8a a7 01 00       	jmp    0x48574f
46afc5:	cc                   	int3
46afc6:	cc                   	int3
46afc7:	cc                   	int3
46afc8:	cc                   	int3
46afc9:	cc                   	int3
46afca:	cc                   	int3
46afcb:	cc                   	int3
46afcc:	cc                   	int3
46afcd:	cc                   	int3
46afce:	cc                   	int3
46afcf:	cc                   	int3
46afd0:	55                   	push   %ebp
46afd1:	8b ec                	mov    %esp,%ebp
46afd3:	56                   	push   %esi
46afd4:	8b 75 08             	mov    0x8(%ebp),%esi
46afd7:	57                   	push   %edi
46afd8:	8b 7d 0c             	mov    0xc(%ebp),%edi
46afdb:	8b 06                	mov    (%esi),%eax
46afdd:	83 f8 fe             	cmp    $0xfffffffe,%eax
46afe0:	74 0d                	je     0x46afef
46afe2:	8b 4e 04             	mov    0x4(%esi),%ecx
46afe5:	03 cf                	add    %edi,%ecx
46afe7:	33 0c 38             	xor    (%eax,%edi,1),%ecx
46afea:	e8 db e9 ff ff       	call   0x4699ca
46afef:	8b 46 08             	mov    0x8(%esi),%eax
46aff2:	8b 4e 0c             	mov    0xc(%esi),%ecx
46aff5:	03 cf                	add    %edi,%ecx
46aff7:	33 0c 38             	xor    (%eax,%edi,1),%ecx
46affa:	5f                   	pop    %edi
46affb:	5e                   	pop    %esi
46affc:	5d                   	pop    %ebp
46affd:	e9 c8 e9 ff ff       	jmp    0x4699ca
46b002:	cc                   	int3
46b003:	cc                   	int3
46b004:	cc                   	int3
46b005:	cc                   	int3
46b006:	cc                   	int3
46b007:	cc                   	int3
46b008:	cc                   	int3
46b009:	cc                   	int3
46b00a:	cc                   	int3
46b00b:	cc                   	int3
46b00c:	cc                   	int3
46b00d:	cc                   	int3
46b00e:	cc                   	int3
46b00f:	cc                   	int3
46b010:	55                   	push   %ebp
46b011:	8b ec                	mov    %esp,%ebp
46b013:	83 ec 1c             	sub    $0x1c,%esp
46b016:	53                   	push   %ebx
46b017:	8b 5d 08             	mov    0x8(%ebp),%ebx
46b01a:	56                   	push   %esi
46b01b:	57                   	push   %edi
46b01c:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
46b020:	ff 33                	push   (%ebx)
46b022:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
46b029:	e8 17 b0 02 00       	call   0x496045
46b02e:	89 03                	mov    %eax,(%ebx)
46b030:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46b033:	8b 43 08             	mov    0x8(%ebx),%eax
46b036:	8d 73 10             	lea    0x10(%ebx),%esi
46b039:	33 05 14 40 4c 00    	xor    0x4c4014,%eax
46b03f:	56                   	push   %esi
46b040:	50                   	push   %eax
46b041:	89 75 f0             	mov    %esi,-0x10(%ebp)
46b044:	89 45 f8             	mov    %eax,-0x8(%ebp)
46b047:	e8 84 ff ff ff       	call   0x46afd0
46b04c:	ff 75 10             	push   0x10(%ebp)
46b04f:	e8 f8 32 00 00       	call   0x46e34c
46b054:	8b 45 08             	mov    0x8(%ebp),%eax
46b057:	83 c4 10             	add    $0x10,%esp
46b05a:	8b 7b 0c             	mov    0xc(%ebx),%edi
46b05d:	f6 40 04 66          	testb  $0x66,0x4(%eax)
46b061:	75 5a                	jne    0x46b0bd
46b063:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46b066:	8b 45 10             	mov    0x10(%ebp),%eax
46b069:	89 45 e8             	mov    %eax,-0x18(%ebp)
46b06c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
46b06f:	89 43 fc             	mov    %eax,-0x4(%ebx)
46b072:	83 ff fe             	cmp    $0xfffffffe,%edi
46b075:	74 69                	je     0x46b0e0
46b077:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46b07a:	8d 47 02             	lea    0x2(%edi),%eax
46b07d:	8d 04 47             	lea    (%edi,%eax,2),%eax
46b080:	8b 1c 81             	mov    (%ecx,%eax,4),%ebx
46b083:	8d 04 81             	lea    (%ecx,%eax,4),%eax
46b086:	8b 48 04             	mov    0x4(%eax),%ecx
46b089:	89 45 ec             	mov    %eax,-0x14(%ebp)
46b08c:	85 c9                	test   %ecx,%ecx
46b08e:	74 14                	je     0x46b0a4
46b090:	8b d6                	mov    %esi,%edx
46b092:	e8 d9 33 00 00       	call   0x46e470
46b097:	b1 01                	mov    $0x1,%cl
46b099:	88 4d ff             	mov    %cl,-0x1(%ebp)
46b09c:	85 c0                	test   %eax,%eax
46b09e:	78 14                	js     0x46b0b4
46b0a0:	7f 48                	jg     0x46b0ea
46b0a2:	eb 03                	jmp    0x46b0a7
46b0a4:	8a 4d ff             	mov    -0x1(%ebp),%cl
46b0a7:	8b fb                	mov    %ebx,%edi
46b0a9:	83 fb fe             	cmp    $0xfffffffe,%ebx
46b0ac:	75 c9                	jne    0x46b077
46b0ae:	84 c9                	test   %cl,%cl
46b0b0:	74 2e                	je     0x46b0e0
46b0b2:	eb 20                	jmp    0x46b0d4
46b0b4:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
46b0bb:	eb 17                	jmp    0x46b0d4
46b0bd:	83 ff fe             	cmp    $0xfffffffe,%edi
46b0c0:	74 1e                	je     0x46b0e0
46b0c2:	68 14 40 4c 00       	push   $0x4c4014
46b0c7:	56                   	push   %esi
46b0c8:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
46b0cd:	8b cb                	mov    %ebx,%ecx
46b0cf:	e8 fc 33 00 00       	call   0x46e4d0
46b0d4:	56                   	push   %esi
46b0d5:	ff 75 f8             	push   -0x8(%ebp)
46b0d8:	e8 f3 fe ff ff       	call   0x46afd0
46b0dd:	83 c4 08             	add    $0x8,%esp
46b0e0:	8b 45 f4             	mov    -0xc(%ebp),%eax
46b0e3:	5f                   	pop    %edi
46b0e4:	5e                   	pop    %esi
46b0e5:	5b                   	pop    %ebx
46b0e6:	8b e5                	mov    %ebp,%esp
46b0e8:	5d                   	pop    %ebp
46b0e9:	c3                   	ret
46b0ea:	8b 45 08             	mov    0x8(%ebp),%eax
46b0ed:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
46b0f3:	75 38                	jne    0x46b12d
46b0f5:	83 3d 30 08 4a 00 00 	cmpl   $0x0,0x4a0830
46b0fc:	74 2f                	je     0x46b12d
46b0fe:	68 30 08 4a 00       	push   $0x4a0830
46b103:	e8 c8 a7 02 00       	call   0x4958d0
46b108:	83 c4 04             	add    $0x4,%esp
46b10b:	85 c0                	test   %eax,%eax
46b10d:	74 1b                	je     0x46b12a
46b10f:	8b 35 30 08 4a 00    	mov    0x4a0830,%esi
46b115:	8b ce                	mov    %esi,%ecx
46b117:	6a 01                	push   $0x1
46b119:	ff 75 08             	push   0x8(%ebp)
46b11c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
46b122:	ff d6                	call   *%esi
46b124:	8b 75 f0             	mov    -0x10(%ebp),%esi
46b127:	83 c4 08             	add    $0x8,%esp
46b12a:	8b 45 08             	mov    0x8(%ebp),%eax
46b12d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46b130:	8b d0                	mov    %eax,%edx
46b132:	e8 79 33 00 00       	call   0x46e4b0
46b137:	8b 45 0c             	mov    0xc(%ebp),%eax
46b13a:	39 78 0c             	cmp    %edi,0xc(%eax)
46b13d:	74 12                	je     0x46b151
46b13f:	68 14 40 4c 00       	push   $0x4c4014
46b144:	56                   	push   %esi
46b145:	8b d7                	mov    %edi,%edx
46b147:	8b c8                	mov    %eax,%ecx
46b149:	e8 82 33 00 00       	call   0x46e4d0
46b14e:	8b 45 0c             	mov    0xc(%ebp),%eax
46b151:	56                   	push   %esi
46b152:	ff 75 f8             	push   -0x8(%ebp)
46b155:	89 58 0c             	mov    %ebx,0xc(%eax)
46b158:	e8 73 fe ff ff       	call   0x46afd0
46b15d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46b160:	83 c4 08             	add    $0x8,%esp
46b163:	8b d6                	mov    %esi,%edx
46b165:	8b 49 08             	mov    0x8(%ecx),%ecx
46b168:	e8 23 33 00 00       	call   0x46e490
46b16d:	cc                   	int3
46b16e:	55                   	push   %ebp
46b16f:	8b ec                	mov    %esp,%ebp
46b171:	8b 45 08             	mov    0x8(%ebp),%eax
46b174:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46b177:	3b c1                	cmp    %ecx,%eax
46b179:	75 04                	jne    0x46b17f
46b17b:	33 c0                	xor    %eax,%eax
46b17d:	5d                   	pop    %ebp
46b17e:	c3                   	ret
46b17f:	83 c1 05             	add    $0x5,%ecx
46b182:	83 c0 05             	add    $0x5,%eax
46b185:	8a 10                	mov    (%eax),%dl
46b187:	3a 11                	cmp    (%ecx),%dl
46b189:	75 18                	jne    0x46b1a3
46b18b:	84 d2                	test   %dl,%dl
46b18d:	74 ec                	je     0x46b17b
46b18f:	8a 50 01             	mov    0x1(%eax),%dl
46b192:	3a 51 01             	cmp    0x1(%ecx),%dl
46b195:	75 0c                	jne    0x46b1a3
46b197:	83 c0 02             	add    $0x2,%eax
46b19a:	83 c1 02             	add    $0x2,%ecx
46b19d:	84 d2                	test   %dl,%dl
46b19f:	75 e4                	jne    0x46b185
46b1a1:	eb d8                	jmp    0x46b17b
46b1a3:	1b c0                	sbb    %eax,%eax
46b1a5:	83 c8 01             	or     $0x1,%eax
46b1a8:	5d                   	pop    %ebp
46b1a9:	c3                   	ret
46b1aa:	55                   	push   %ebp
46b1ab:	8b ec                	mov    %esp,%ebp
46b1ad:	8b 4d 08             	mov    0x8(%ebp),%ecx
46b1b0:	83 ec 0c             	sub    $0xc,%esp
46b1b3:	8b 01                	mov    (%ecx),%eax
46b1b5:	90                   	nop
46b1b6:	85 c0                	test   %eax,%eax
46b1b8:	0f 85 b0 00 00 00    	jne    0x46b26e
46b1be:	53                   	push   %ebx
46b1bf:	56                   	push   %esi
46b1c0:	68 00 28 00 00       	push   $0x2800
46b1c5:	68 90 7d 42 00       	push   $0x427d90
46b1ca:	68 80 7d 42 00       	push   $0x427d80
46b1cf:	33 db                	xor    %ebx,%ebx
46b1d1:	8d 41 05             	lea    0x5(%ecx),%eax
46b1d4:	53                   	push   %ebx
46b1d5:	50                   	push   %eax
46b1d6:	53                   	push   %ebx
46b1d7:	e8 5a 9a 00 00       	call   0x474c36
46b1dc:	8b f0                	mov    %eax,%esi
46b1de:	83 c4 18             	add    $0x18,%esp
46b1e1:	85 f6                	test   %esi,%esi
46b1e3:	74 7e                	je     0x46b263
46b1e5:	8b ce                	mov    %esi,%ecx
46b1e7:	8d 51 01             	lea    0x1(%ecx),%edx
46b1ea:	8a 01                	mov    (%ecx),%al
46b1ec:	41                   	inc    %ecx
46b1ed:	84 c0                	test   %al,%al
46b1ef:	75 f9                	jne    0x46b1ea
46b1f1:	2b ca                	sub    %edx,%ecx
46b1f3:	74 12                	je     0x46b207
46b1f5:	8d 46 ff             	lea    -0x1(%esi),%eax
46b1f8:	03 c1                	add    %ecx,%eax
46b1fa:	80 38 20             	cmpb   $0x20,(%eax)
46b1fd:	75 08                	jne    0x46b207
46b1ff:	88 18                	mov    %bl,(%eax)
46b201:	48                   	dec    %eax
46b202:	83 e9 01             	sub    $0x1,%ecx
46b205:	75 f3                	jne    0x46b1fa
46b207:	8d 41 01             	lea    0x1(%ecx),%eax
46b20a:	89 45 f8             	mov    %eax,-0x8(%ebp)
46b20d:	83 c0 04             	add    $0x4,%eax
46b210:	57                   	push   %edi
46b211:	50                   	push   %eax
46b212:	e8 ea e4 00 00       	call   0x479701
46b217:	8b f8                	mov    %eax,%edi
46b219:	59                   	pop    %ecx
46b21a:	85 ff                	test   %edi,%edi
46b21c:	74 3d                	je     0x46b25b
46b21e:	56                   	push   %esi
46b21f:	ff 75 f8             	push   -0x8(%ebp)
46b222:	8d 47 04             	lea    0x4(%edi),%eax
46b225:	89 7d f4             	mov    %edi,-0xc(%ebp)
46b228:	50                   	push   %eax
46b229:	89 45 fc             	mov    %eax,-0x4(%ebp)
46b22c:	89 1f                	mov    %ebx,(%edi)
46b22e:	e8 0b 63 01 00       	call   0x48153e
46b233:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46b236:	83 c4 0c             	add    $0xc,%esp
46b239:	8b 55 08             	mov    0x8(%ebp),%edx
46b23c:	33 c0                	xor    %eax,%eax
46b23e:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
46b242:	85 c0                	test   %eax,%eax
46b244:	74 04                	je     0x46b24a
46b246:	8b d8                	mov    %eax,%ebx
46b248:	eb 11                	jmp    0x46b25b
46b24a:	ff 75 f4             	push   -0xc(%ebp)
46b24d:	8b fb                	mov    %ebx,%edi
46b24f:	ff 75 0c             	push   0xc(%ebp)
46b252:	ff 15 40 e1 49 00    	call   *0x49e140
46b258:	8b 5d fc             	mov    -0x4(%ebp),%ebx
46b25b:	57                   	push   %edi
46b25c:	e8 21 e4 00 00       	call   0x479682
46b261:	59                   	pop    %ecx
46b262:	5f                   	pop    %edi
46b263:	56                   	push   %esi
46b264:	e8 19 e4 00 00       	call   0x479682
46b269:	59                   	pop    %ecx
46b26a:	5e                   	pop    %esi
46b26b:	8b c3                	mov    %ebx,%eax
46b26d:	5b                   	pop    %ebx
46b26e:	c9                   	leave
46b26f:	c3                   	ret
46b270:	a1 bc 83 4c 00       	mov    0x4c83bc,%eax
46b275:	90                   	nop
46b276:	c3                   	ret
46b277:	cc                   	int3
46b278:	cc                   	int3
46b279:	cc                   	int3
46b27a:	cc                   	int3
46b27b:	cc                   	int3
46b27c:	cc                   	int3