511e7f:	cc                   	int3
511e80:	55                   	push   %ebp
511e81:	8b ec                	mov    %esp,%ebp
511e83:	51                   	push   %ecx
511e84:	53                   	push   %ebx
511e85:	8b 5d 0c             	mov    0xc(%ebp),%ebx
511e88:	83 7b 38 00          	cmpl   $0x0,0x38(%ebx)
511e8c:	0f 85 a8 00 00 00    	jne    0x511f3a
511e92:	57                   	push   %edi
511e93:	8b 7b 08             	mov    0x8(%ebx),%edi
511e96:	85 ff                	test   %edi,%edi
511e98:	0f 84 9b 00 00 00    	je     0x511f39
511e9e:	8b 45 10             	mov    0x10(%ebp),%eax
511ea1:	56                   	push   %esi
511ea2:	85 c0                	test   %eax,%eax
511ea4:	74 0e                	je     0x511eb4
511ea6:	57                   	push   %edi
511ea7:	50                   	push   %eax
511ea8:	e8 d3 8e fe ff       	call   0x4fad80
511ead:	83 c4 08             	add    $0x8,%esp
511eb0:	85 c0                	test   %eax,%eax
511eb2:	74 76                	je     0x511f2a
511eb4:	8b 4b 48             	mov    0x48(%ebx),%ecx
511eb7:	be c0 bd f0 ff       	mov    $0xfff0bdc0,%esi
511ebc:	8b 55 08             	mov    0x8(%ebp),%edx
511ebf:	85 c9                	test   %ecx,%ecx
511ec1:	74 16                	je     0x511ed9
511ec3:	8b 02                	mov    (%edx),%eax
511ec5:	33 f6                	xor    %esi,%esi
511ec7:	8b 40 10             	mov    0x10(%eax),%eax
511eca:	83 c0 0c             	add    $0xc,%eax
511ecd:	39 08                	cmp    %ecx,(%eax)
511ecf:	74 08                	je     0x511ed9
511ed1:	8d 40 10             	lea    0x10(%eax),%eax
511ed4:	46                   	inc    %esi
511ed5:	39 08                	cmp    %ecx,(%eax)
511ed7:	75 f8                	jne    0x511ed1
511ed9:	8b 42 74             	mov    0x74(%edx),%eax
511edc:	8b ca                	mov    %edx,%ecx
511ede:	85 c0                	test   %eax,%eax
511ee0:	0f 45 c8             	cmovne %eax,%ecx
511ee3:	0f 45 d0             	cmovne %eax,%edx
511ee6:	89 4d fc             	mov    %ecx,-0x4(%ebp)
511ee9:	b8 01 00 00 00       	mov    $0x1,%eax
511eee:	8b ce                	mov    %esi,%ecx
511ef0:	d3 e0                	shl    %cl,%eax
511ef2:	8b 5a 54             	mov    0x54(%edx),%ebx
511ef5:	85 c3                	test   %eax,%ebx
511ef7:	75 14                	jne    0x511f0d
511ef9:	0f ab f3             	bts    %esi,%ebx
511efc:	89 5a 54             	mov    %ebx,0x54(%edx)
511eff:	83 fe 01             	cmp    $0x1,%esi
511f02:	75 09                	jne    0x511f0d
511f04:	52                   	push   %edx
511f05:	e8 86 fd 01 00       	call   0x531c90
511f0a:	83 c4 04             	add    $0x4,%esp
511f0d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
511f10:	6a ff                	push   $0xffffffff
511f12:	57                   	push   %edi
511f13:	ff 75 08             	push   0x8(%ebp)
511f16:	8b 41 50             	mov    0x50(%ecx),%eax
511f19:	0f ab f0             	bts    %esi,%eax
511f1c:	89 41 50             	mov    %eax,0x50(%ecx)
511f1f:	e8 bc 57 02 00       	call   0x5376e0
511f24:	8b 5d 0c             	mov    0xc(%ebp),%ebx
511f27:	83 c4 0c             	add    $0xc,%esp
511f2a:	8b 7f 14             	mov    0x14(%edi),%edi
511f2d:	8b 45 10             	mov    0x10(%ebp),%eax
511f30:	85 ff                	test   %edi,%edi
511f32:	0f 85 6a ff ff ff    	jne    0x511ea2
511f38:	5e                   	pop    %esi
511f39:	5f                   	pop    %edi
511f3a:	5b                   	pop    %ebx
511f3b:	8b e5                	mov    %ebp,%esp
511f3d:	5d                   	pop    %ebp
511f3e:	c3                   	ret
511f3f:	cc                   	int3
511f40:	55                   	push   %ebp
511f41:	8b ec                	mov    %esp,%ebp
511f43:	56                   	push   %esi
511f44:	8b 75 08             	mov    0x8(%ebp),%esi
511f47:	57                   	push   %edi
511f48:	33 ff                	xor    %edi,%edi
511f4a:	39 7e 60             	cmp    %edi,0x60(%esi)
511f4d:	7e 1c                	jle    0x511f6b
511f4f:	53                   	push   %ebx
511f50:	33 db                	xor    %ebx,%ebx
511f52:	8b 46 5c             	mov    0x5c(%esi),%eax
511f55:	ff 74 03 10          	push   0x10(%ebx,%eax,1)
511f59:	e8 52 87 00 00       	call   0x51a6b0
511f5e:	47                   	inc    %edi
511f5f:	8d 5b 30             	lea    0x30(%ebx),%ebx
511f62:	83 c4 04             	add    $0x4,%esp
511f65:	3b 7e 60             	cmp    0x60(%esi),%edi
511f68:	7c e8                	jl     0x511f52
511f6a:	5b                   	pop    %ebx
511f6b:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
511f6f:	74 0b                	je     0x511f7c
511f71:	8b 46 44             	mov    0x44(%esi),%eax
511f74:	81 38 d8 26 6b 00    	cmpl   $0x6b26d8,(%eax)
511f7a:	75 18                	jne    0x511f94
511f7c:	8b 7e 44             	mov    0x44(%esi),%edi
511f7f:	8b 07                	mov    (%edi),%eax
511f81:	85 c0                	test   %eax,%eax
511f83:	74 0f                	je     0x511f94
511f85:	8b 40 04             	mov    0x4(%eax),%eax
511f88:	57                   	push   %edi
511f89:	ff d0                	call   *%eax
511f8b:	83 c4 04             	add    $0x4,%esp
511f8e:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
511f94:	8b 7e 5c             	mov    0x5c(%esi),%edi
511f97:	85 ff                	test   %edi,%edi
511f99:	74 55                	je     0x511ff0
511f9b:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
511fa2:	74 42                	je     0x511fe6
511fa4:	a1 90 ff 72 00       	mov    0x72ff90,%eax
511fa9:	85 c0                	test   %eax,%eax
511fab:	74 0a                	je     0x511fb7
511fad:	50                   	push   %eax
511fae:	ff 15 60 18 72 00    	call   *0x721860
511fb4:	83 c4 04             	add    $0x4,%esp
511fb7:	57                   	push   %edi
511fb8:	ff 15 3c 18 72 00    	call   *0x72183c
511fbe:	29 05 20 00 73 00    	sub    %eax,0x730020
511fc4:	ff 0d 44 00 73 00    	decl   0x730044
511fca:	57                   	push   %edi
511fcb:	ff 15 34 18 72 00    	call   *0x721834
511fd1:	a1 90 ff 72 00       	mov    0x72ff90,%eax
511fd6:	83 c4 08             	add    $0x8,%esp
511fd9:	85 c0                	test   %eax,%eax
511fdb:	74 13                	je     0x511ff0
511fdd:	50                   	push   %eax
511fde:	ff 15 68 18 72 00    	call   *0x721868
511fe4:	eb 07                	jmp    0x511fed
511fe6:	57                   	push   %edi
511fe7:	ff 15 34 18 72 00    	call   *0x721834
511fed:	83 c4 04             	add    $0x4,%esp
511ff0:	5f                   	pop    %edi
511ff1:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
511ff8:	c7 46 60 00 00 00 00 	movl   $0x0,0x60(%esi)
511fff:	c7 46 34 00 00 00 00 	movl   $0x0,0x34(%esi)
512006:	5e                   	pop    %esi
512007:	5d                   	pop    %ebp
512008:	c3                   	ret
512009:	cc                   	int3
51200a:	cc                   	int3
51200b:	cc                   	int3
51200c:	cc                   	int3
51200d:	cc                   	int3
51200e:	cc                   	int3
51200f:	cc                   	int3
512010:	55                   	push   %ebp
512011:	8b ec                	mov    %esp,%ebp
512013:	56                   	push   %esi
512014:	8b 75 08             	mov    0x8(%ebp),%esi
512017:	85 f6                	test   %esi,%esi
512019:	0f 84 96 00 00 00    	je     0x5120b5
51201f:	8b 45 0c             	mov    0xc(%ebp),%eax
512022:	85 c0                	test   %eax,%eax
512024:	0f 84 8b 00 00 00    	je     0x5120b5
51202a:	53                   	push   %ebx
51202b:	57                   	push   %edi
51202c:	8b 7e 20             	mov    0x20(%esi),%edi
51202f:	8d 04 80             	lea    (%eax,%eax,4),%eax
512032:	8d 1c c6             	lea    (%esi,%eax,8),%ebx
512035:	83 bf f8 01 00 00 00 	cmpl   $0x0,0x1f8(%edi)
51203c:	74 28                	je     0x512066
51203e:	83 c6 14             	add    $0x14,%esi
512041:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
512045:	74 10                	je     0x512057
512047:	8b 06                	mov    (%esi),%eax
512049:	85 c0                	test   %eax,%eax
51204b:	74 0a                	je     0x512057
51204d:	50                   	push   %eax
51204e:	57                   	push   %edi
51204f:	e8 1c f3 00 00       	call   0x521370
512054:	83 c4 08             	add    $0x8,%esp
512057:	83 c6 28             	add    $0x28,%esi
51205a:	8d 46 ec             	lea    -0x14(%esi),%eax
51205d:	3b c3                	cmp    %ebx,%eax
51205f:	72 e0                	jb     0x512041
512061:	5f                   	pop    %edi
512062:	5b                   	pop    %ebx
512063:	5e                   	pop    %esi
512064:	5d                   	pop    %ebp
512065:	c3                   	ret
512066:	83 c6 18             	add    $0x18,%esi
512069:	b8 00 24 00 00       	mov    $0x2400,%eax
51206e:	66 90                	xchg   %ax,%ax
512070:	66 85 46 f0          	test   %ax,-0x10(%esi)
512074:	74 0e                	je     0x512084
512076:	8d 46 e8             	lea    -0x18(%esi),%eax
512079:	50                   	push   %eax
51207a:	e8 91 8d 04 00       	call   0x55ae10
51207f:	83 c4 04             	add    $0x4,%esp
512082:	eb 17                	jmp    0x51209b
512084:	83 3e 00             	cmpl   $0x0,(%esi)
512087:	74 12                	je     0x51209b
512089:	ff 76 fc             	push   -0x4(%esi)
51208c:	57                   	push   %edi
51208d:	e8 de f2 00 00       	call   0x521370
512092:	83 c4 08             	add    $0x8,%esp
512095:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
51209b:	b8 80 00 00 00       	mov    $0x80,%eax
5120a0:	66 89 46 f0          	mov    %ax,-0x10(%esi)
5120a4:	83 c6 28             	add    $0x28,%esi
5120a7:	8d 46 e8             	lea    -0x18(%esi),%eax
5120aa:	3b c3                	cmp    %ebx,%eax
5120ac:	b8 00 24 00 00       	mov    $0x2400,%eax
5120b1:	72 bd                	jb     0x512070
5120b3:	5f                   	pop    %edi
5120b4:	5b                   	pop    %ebx
5120b5:	5e                   	pop    %esi
5120b6:	5d                   	pop    %ebp
5120b7:	c3                   	ret
5120b8:	cc                   	int3
5120b9:	cc                   	int3
5120ba:	cc                   	int3
5120bb:	cc                   	int3
5120bc:	cc                   	int3
5120bd:	cc                   	int3
5120be:	cc                   	int3
5120bf:	cc                   	int3
5120c0:	55                   	push   %ebp
5120c1:	8b ec                	mov    %esp,%ebp
5120c3:	8b 45 08             	mov    0x8(%ebp),%eax
5120c6:	8b 50 48             	mov    0x48(%eax),%edx
5120c9:	f6 42 1c 20          	testb  $0x20,0x1c(%edx)
5120cd:	74 43                	je     0x512112
5120cf:	8b 42 14             	mov    0x14(%edx),%eax
5120d2:	56                   	push   %esi
5120d3:	57                   	push   %edi
5120d4:	ff 48 78             	decl   0x78(%eax)
5120d7:	8b 88 88 00 00 00    	mov    0x88(%eax),%ecx
5120dd:	89 4a 10             	mov    %ecx,0x10(%edx)
5120e0:	8b 70 3c             	mov    0x3c(%eax),%esi
5120e3:	89 90 88 00 00 00    	mov    %edx,0x88(%eax)
5120e9:	ff 72 04             	push   0x4(%edx)
5120ec:	8b 4a 18             	mov    0x18(%edx),%ecx
5120ef:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
5120f5:	49                   	dec    %ecx
5120f6:	8b 3e                	mov    (%esi),%edi
5120f8:	99                   	cltd
5120f9:	52                   	push   %edx
5120fa:	50                   	push   %eax
5120fb:	6a 00                	push   $0x0
5120fd:	51                   	push   %ecx
5120fe:	e8 fd f9 0c 00       	call   0x5e1b00
512103:	52                   	push   %edx
512104:	50                   	push   %eax
512105:	8b 47 48             	mov    0x48(%edi),%eax
512108:	56                   	push   %esi
512109:	ff d0                	call   *%eax
51210b:	83 c4 10             	add    $0x10,%esp
51210e:	5f                   	pop    %edi
51210f:	5e                   	pop    %esi
512110:	5d                   	pop    %ebp
512111:	c3                   	ret
512112:	89 55 08             	mov    %edx,0x8(%ebp)
512115:	5d                   	pop    %ebp
512116:	e9 d5 24 02 00       	jmp    0x5345f0
51211b:	cc                   	int3
51211c:	cc                   	int3
51211d:	cc                   	int3
51211e:	cc                   	int3
51211f:	cc                   	int3
512120:	55                   	push   %ebp
512121:	8b ec                	mov    %esp,%ebp
512123:	8b 45 08             	mov    0x8(%ebp),%eax
512126:	56                   	push   %esi
512127:	8b 40 48             	mov    0x48(%eax),%eax
51212a:	50                   	push   %eax
51212b:	8b 70 14             	mov    0x14(%eax),%esi
51212e:	e8 bd 24 02 00       	call   0x5345f0
512133:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
512139:	83 c4 04             	add    $0x4,%esp
51213c:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
512140:	75 09                	jne    0x51214b
512142:	56                   	push   %esi
512143:	e8 a8 b2 ff ff       	call   0x50d3f0
512148:	83 c4 04             	add    $0x4,%esp
51214b:	5e                   	pop    %esi
51214c:	5d                   	pop    %ebp
51214d:	c3                   	ret
51214e:	cc                   	int3
51214f:	cc                   	int3
512150:	55                   	push   %ebp
512151:	8b ec                	mov    %esp,%ebp
512153:	51                   	push   %ecx
512154:	8b 45 08             	mov    0x8(%ebp),%eax
512157:	57                   	push   %edi
512158:	8b 7d 0c             	mov    0xc(%ebp),%edi
51215b:	8b 00                	mov    (%eax),%eax
51215d:	8b 4f 04             	mov    0x4(%edi),%ecx
512160:	89 4d fc             	mov    %ecx,-0x4(%ebp)
512163:	83 f9 03             	cmp    $0x3,%ecx
512166:	73 28                	jae    0x512190
512168:	68 fc c4 6b 00       	push   $0x6bc4fc
51216d:	68 af 08 01 00       	push   $0x108af
512172:	68 94 c4 6b 00       	push   $0x6bc494
512177:	68 78 c4 6b 00       	push   $0x6bc478
51217c:	6a 0b                	push   $0xb
51217e:	e8 5d de fc ff       	call   0x4dffe0
512183:	83 c4 14             	add    $0x14,%esp
512186:	b8 0b 00 00 00       	mov    $0xb,%eax
51218b:	5f                   	pop    %edi
51218c:	8b e5                	mov    %ebp,%esp
51218e:	5d                   	pop    %ebp
51218f:	c3                   	ret
512190:	56                   	push   %esi
512191:	ff 75 1c             	push   0x1c(%ebp)
512194:	ff 75 18             	push   0x18(%ebp)
512197:	ff 77 48             	push   0x48(%edi)
51219a:	50                   	push   %eax
51219b:	e8 10 07 02 00       	call   0x5328b0
5121a0:	8b f0                	mov    %eax,%esi
5121a2:	83 c4 10             	add    $0x10,%esp
5121a5:	89 75 0c             	mov    %esi,0xc(%ebp)
5121a8:	85 f6                	test   %esi,%esi
5121aa:	0f 85 d2 00 00 00    	jne    0x512282
5121b0:	8b 4d 18             	mov    0x18(%ebp),%ecx
5121b3:	53                   	push   %ebx
5121b4:	8b 5d 10             	mov    0x10(%ebp),%ebx
5121b7:	89 4f 04             	mov    %ecx,0x4(%edi)
5121ba:	80 fb 05             	cmp    $0x5,%bl
5121bd:	74 34                	je     0x5121f3
5121bf:	80 fb 01             	cmp    $0x1,%bl
5121c2:	74 2f                	je     0x5121f3
5121c4:	8b 47 38             	mov    0x38(%edi),%eax
5121c7:	8b 7d 08             	mov    0x8(%ebp),%edi
5121ca:	8b 00                	mov    (%eax),%eax
5121cc:	0f c8                	bswap  %eax
5121ce:	85 c0                	test   %eax,%eax
5121d0:	74 33                	je     0x512205
5121d2:	8d 55 0c             	lea    0xc(%ebp),%edx
5121d5:	52                   	push   %edx
5121d6:	51                   	push   %ecx
5121d7:	6a 04                	push   $0x4
5121d9:	50                   	push   %eax
5121da:	57                   	push   %edi
5121db:	e8 b0 e8 ff ff       	call   0x510a90
5121e0:	8b 75 0c             	mov    0xc(%ebp),%esi
5121e3:	83 c4 14             	add    $0x14,%esp
5121e6:	85 f6                	test   %esi,%esi
5121e8:	74 1b                	je     0x512205
5121ea:	5b                   	pop    %ebx
5121eb:	8b c6                	mov    %esi,%eax
5121ed:	5e                   	pop    %esi
5121ee:	5f                   	pop    %edi
5121ef:	8b e5                	mov    %ebp,%esp