5a6e74:	c1 fa 03             	sar    $0x3,%edx
5a6e77:	83 e0 07             	and    $0x7,%eax
5a6e7a:	03 57 30             	add    0x30(%edi),%edx
5a6e7d:	43                   	inc    %ebx
5a6e7e:	0f b6 0a             	movzbl (%edx),%ecx
5a6e81:	0f ab c1             	bts    %eax,%ecx
5a6e84:	88 0a                	mov    %cl,(%edx)
5a6e86:	8b 45 0c             	mov    0xc(%ebp),%eax
5a6e89:	03 c6                	add    %esi,%eax
5a6e8b:	3b d8                	cmp    %eax,%ebx
5a6e8d:	7c e1                	jl     0x5a6e70
5a6e8f:	eb 5c                	jmp    0x5a6eed
5a6e91:	8b cb                	mov    %ebx,%ecx
5a6e93:	83 e3 07             	and    $0x7,%ebx
5a6e96:	c1 f9 03             	sar    $0x3,%ecx
5a6e99:	03 4f 30             	add    0x30(%edi),%ecx
5a6e9c:	8a 83 44 12 69 00    	mov    0x691244(%ebx),%al
5a6ea2:	08 01                	or     %al,(%ecx)
5a6ea4:	8d 46 ff             	lea    -0x1(%esi),%eax
5a6ea7:	8b 55 0c             	mov    0xc(%ebp),%edx
5a6eaa:	8b ca                	mov    %edx,%ecx
5a6eac:	c1 f9 03             	sar    $0x3,%ecx
5a6eaf:	03 c2                	add    %edx,%eax
5a6eb1:	41                   	inc    %ecx
5a6eb2:	c1 f8 03             	sar    $0x3,%eax
5a6eb5:	3b c8                	cmp    %eax,%ecx
5a6eb7:	7d 1e                	jge    0x5a6ed7
5a6eb9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5a6ec0:	8b 47 30             	mov    0x30(%edi),%eax
5a6ec3:	c6 04 01 ff          	movb   $0xff,(%ecx,%eax,1)
5a6ec7:	8d 46 ff             	lea    -0x1(%esi),%eax
5a6eca:	8b 55 0c             	mov    0xc(%ebp),%edx
5a6ecd:	41                   	inc    %ecx
5a6ece:	03 c2                	add    %edx,%eax
5a6ed0:	c1 f8 03             	sar    $0x3,%eax
5a6ed3:	3b c8                	cmp    %eax,%ecx
5a6ed5:	7c e9                	jl     0x5a6ec0
5a6ed7:	03 d6                	add    %esi,%edx
5a6ed9:	8d 4a ff             	lea    -0x1(%edx),%ecx
5a6edc:	83 e2 07             	and    $0x7,%edx
5a6edf:	c1 f9 03             	sar    $0x3,%ecx
5a6ee2:	03 4f 30             	add    0x30(%edi),%ecx
5a6ee5:	8a 82 4c 12 69 00    	mov    0x69124c(%edx),%al
5a6eeb:	08 01                	or     %al,(%ecx)
5a6eed:	8b 55 04             	mov    0x4(%ebp),%edx
5a6ef0:	85 d2                	test   %edx,%edx
5a6ef2:	0f 84 84 00 00 00    	je     0x5a6f7c
5a6ef8:	8b 4f 30             	mov    0x30(%edi),%ecx
5a6efb:	8d 72 ff             	lea    -0x1(%edx),%esi
5a6efe:	c1 fe 03             	sar    $0x3,%esi
5a6f01:	83 e2 07             	and    $0x7,%edx
5a6f04:	8a 04 0e             	mov    (%esi,%ecx,1),%al
5a6f07:	3a 82 4c 12 69 00    	cmp    0x69124c(%edx),%al
5a6f0d:	75 2c                	jne    0x5a6f3b
5a6f0f:	8d 46 ff             	lea    -0x1(%esi),%eax
5a6f12:	85 c0                	test   %eax,%eax
5a6f14:	78 0b                	js     0x5a6f21
5a6f16:	80 3c 01 ff          	cmpb   $0xff,(%ecx,%eax,1)
5a6f1a:	75 1f                	jne    0x5a6f3b
5a6f1c:	83 e8 01             	sub    $0x1,%eax
5a6f1f:	79 f5                	jns    0x5a6f16
5a6f21:	68 61 02 00 00       	push   $0x261
5a6f26:	68 50 80 66 00       	push   $0x668050
5a6f2b:	51                   	push   %ecx
5a6f2c:	e8 4f 98 f3 ff       	call   0x4e0780
5a6f31:	83 c4 0c             	add    $0xc,%esp
5a6f34:	c7 47 30 00 00 00 00 	movl   $0x0,0x30(%edi)
5a6f3b:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
5a6f40:	0f 85 dc fe ff ff    	jne    0x5a6e22
5a6f46:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5a6f4a:	57                   	push   %edi
5a6f4b:	50                   	push   %eax
5a6f4c:	e8 ff 15 01 00       	call   0x5b8550
5a6f51:	83 c4 08             	add    $0x8,%esp
5a6f54:	85 c0                	test   %eax,%eax
5a6f56:	74 2b                	je     0x5a6f83
5a6f58:	50                   	push   %eax
5a6f59:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5a6f5d:	8b 80 80 00 00 00    	mov    0x80(%eax),%eax
5a6f63:	ff b0 10 01 00 00    	push   0x110(%eax)
5a6f69:	e8 c2 16 01 00       	call   0x5b8630
5a6f6e:	83 c4 08             	add    $0x8,%esp
5a6f71:	85 c0                	test   %eax,%eax
5a6f73:	74 0e                	je     0x5a6f83
5a6f75:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
5a6f7a:	eb 51                	jmp    0x5a6fcd
5a6f7c:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
5a6f81:	75 47                	jne    0x5a6fca
5a6f83:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
5a6f87:	74 13                	je     0x5a6f9c
5a6f89:	ff 77 18             	push   0x18(%edi)
5a6f8c:	e8 5f 54 f3 ff       	call   0x4dc3f0
5a6f91:	ff 77 1c             	push   0x1c(%edi)
5a6f94:	e8 57 41 f7 ff       	call   0x51b0f0
5a6f99:	83 c4 08             	add    $0x8,%esp
5a6f9c:	6a 67                	push   $0x67
5a6f9e:	68 50 80 66 00       	push   $0x668050
5a6fa3:	ff 77 2c             	push   0x2c(%edi)
5a6fa6:	e8 d5 97 f3 ff       	call   0x4e0780
5a6fab:	6a 68                	push   $0x68
5a6fad:	68 50 80 66 00       	push   $0x668050
5a6fb2:	ff 77 30             	push   0x30(%edi)
5a6fb5:	e8 c6 97 f3 ff       	call   0x4e0780
5a6fba:	6a 69                	push   $0x69
5a6fbc:	68 50 80 66 00       	push   $0x668050
5a6fc1:	57                   	push   %edi
5a6fc2:	e8 b9 97 f3 ff       	call   0x4e0780
5a6fc7:	83 c4 24             	add    $0x24,%esp
5a6fca:	83 c8 ff             	or     $0xffffffff,%eax
5a6fcd:	8b 8c 24 24 01 00 00 	mov    0x124(%esp),%ecx
5a6fd4:	5f                   	pop    %edi
5a6fd5:	5e                   	pop    %esi
5a6fd6:	5d                   	pop    %ebp
5a6fd7:	5b                   	pop    %ebx
5a6fd8:	33 cc                	xor    %esp,%ecx
5a6fda:	e8 47 aa 02 00       	call   0x5d1a26
5a6fdf:	81 c4 18 01 00 00    	add    $0x118,%esp
5a6fe5:	c3                   	ret
5a6fe6:	cc                   	int3
5a6fe7:	cc                   	int3
5a6fe8:	cc                   	int3
5a6fe9:	cc                   	int3
5a6fea:	cc                   	int3
5a6feb:	cc                   	int3
5a6fec:	cc                   	int3
5a6fed:	cc                   	int3
5a6fee:	cc                   	int3
5a6fef:	cc                   	int3
5a6ff0:	b8 24 00 00 00       	mov    $0x24,%eax
5a6ff5:	e8 b6 a7 02 00       	call   0x5d17b0
5a6ffa:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5a6fff:	33 c4                	xor    %esp,%eax
5a7001:	89 44 24 20          	mov    %eax,0x20(%esp)
5a7005:	53                   	push   %ebx
5a7006:	55                   	push   %ebp
5a7007:	56                   	push   %esi
5a7008:	8b 74 24 34          	mov    0x34(%esp),%esi
5a700c:	57                   	push   %edi
5a700d:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a7013:	ff b0 14 01 00 00    	push   0x114(%eax)
5a7019:	e8 a2 90 f4 ff       	call   0x4f00c0
5a701e:	89 44 24 14          	mov    %eax,0x14(%esp)
5a7022:	8d 44 24 14          	lea    0x14(%esp),%eax
5a7026:	50                   	push   %eax
5a7027:	e8 f4 16 01 00       	call   0x5b8720
5a702c:	83 c4 08             	add    $0x8,%esp
5a702f:	85 c0                	test   %eax,%eax
5a7031:	0f 84 d8 01 00 00    	je     0x5a720f
5a7037:	8b 40 08             	mov    0x8(%eax),%eax
5a703a:	0f 57 c0             	xorps  %xmm0,%xmm0
5a703d:	66 0f 13 44 24 28    	movlpd %xmm0,0x28(%esp)
5a7043:	bb 0c 00 00 00       	mov    $0xc,%ebx
5a7048:	0f b7 48 08          	movzwl 0x8(%eax),%ecx
5a704c:	03 c9                	add    %ecx,%ecx
5a704e:	2b 48 14             	sub    0x14(%eax),%ecx
5a7051:	8b c1                	mov    %ecx,%eax
5a7053:	88 4c 24 2f          	mov    %cl,0x2f(%esp)
5a7057:	c1 e8 08             	shr    $0x8,%eax
5a705a:	88 44 24 2e          	mov    %al,0x2e(%esp)
5a705e:	8d 44 24 28          	lea    0x28(%esp),%eax
5a7062:	50                   	push   %eax
5a7063:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a7069:	ff b0 14 01 00 00    	push   0x114(%eax)
5a706f:	e8 3c 15 01 00       	call   0x5b85b0
5a7074:	83 c4 08             	add    $0x8,%esp
5a7077:	85 c0                	test   %eax,%eax
5a7079:	0f 84 5e 01 00 00    	je     0x5a71dd
5a707f:	8b 68 08             	mov    0x8(%eax),%ebp
5a7082:	bf 01 00 00 00       	mov    $0x1,%edi
5a7087:	89 6c 24 14          	mov    %ebp,0x14(%esp)
5a708b:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
5a708f:	8b 45 04             	mov    0x4(%ebp),%eax
5a7092:	0f 44 fb             	cmove  %ebx,%edi
5a7095:	03 c7                	add    %edi,%eax
5a7097:	50                   	push   %eax
5a7098:	8b 46 6c             	mov    0x6c(%esi),%eax
5a709b:	ff 75 2c             	push   0x2c(%ebp)
5a709e:	ff 70 04             	push   0x4(%eax)
5a70a1:	e8 2a bd 02 00       	call   0x5d2dd0
5a70a6:	8b 45 04             	mov    0x4(%ebp),%eax
5a70a9:	03 c7                	add    %edi,%eax
5a70ab:	8b be 80 00 00 00    	mov    0x80(%esi),%edi
5a70b1:	89 46 74             	mov    %eax,0x74(%esi)
5a70b4:	8a 45 00             	mov    0x0(%ebp),%al
5a70b7:	8b 5d 10             	mov    0x10(%ebp),%ebx
5a70ba:	0f b7 55 08          	movzwl 0x8(%ebp),%edx
5a70be:	8b 4d 04             	mov    0x4(%ebp),%ecx
5a70c1:	89 9f 30 01 00 00    	mov    %ebx,0x130(%edi)
5a70c7:	8d 9e 50 06 00 00    	lea    0x650(%esi),%ebx
5a70cd:	88 87 20 01 00 00    	mov    %al,0x120(%edi)
5a70d3:	89 8f 24 01 00 00    	mov    %ecx,0x124(%edi)
5a70d9:	66 89 97 28 01 00 00 	mov    %dx,0x128(%edi)
5a70e0:	c7 87 2c 01 00 00 00 	movl   $0x0,0x12c(%edi)
5a70e7:	00 00 00
5a70ea:	8b 86 ec 03 00 00    	mov    0x3ec(%esi),%eax
5a70f0:	8b 7c 24 20          	mov    0x20(%esp),%edi
5a70f4:	89 44 24 24          	mov    %eax,0x24(%esp)
5a70f8:	8b 86 00 04 00 00    	mov    0x400(%esi),%eax
5a70fe:	89 44 24 28          	mov    %eax,0x28(%esp)
5a7102:	8b 86 e4 03 00 00    	mov    0x3e4(%esi),%eax
5a7108:	89 44 24 2c          	mov    %eax,0x2c(%esp)
5a710c:	8b 86 74 04 00 00    	mov    0x474(%esi),%eax
5a7112:	89 44 24 30          	mov    %eax,0x30(%esp)
5a7116:	8b 86 38 0f 00 00    	mov    0xf38(%esi),%eax
5a711c:	0f b7 68 02          	movzwl 0x2(%eax),%ebp
5a7120:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a7126:	c7 80 90 01 00 00 01 	movl   $0x1,0x190(%eax)
5a712d:	00 00 00
5a7130:	8b 47 18             	mov    0x18(%edi),%eax
5a7133:	89 86 ec 03 00 00    	mov    %eax,0x3ec(%esi)
5a7139:	8b 47 1c             	mov    0x1c(%edi),%eax
5a713c:	89 86 00 04 00 00    	mov    %eax,0x400(%esi)
5a7142:	8b 47 20             	mov    0x20(%edi),%eax
5a7145:	89 86 e4 03 00 00    	mov    %eax,0x3e4(%esi)
5a714b:	8b 47 24             	mov    0x24(%edi),%eax
5a714e:	89 86 74 04 00 00    	mov    %eax,0x474(%esi)
5a7154:	0f b7 47 28          	movzwl 0x28(%edi),%eax
5a7158:	50                   	push   %eax
5a7159:	53                   	push   %ebx
5a715a:	e8 e1 73 00 00       	call   0x5ae540
5a715f:	33 c0                	xor    %eax,%eax
5a7161:	39 47 14             	cmp    %eax,0x14(%edi)
5a7164:	0f 94 c0             	sete   %al
5a7167:	8d 04 45 14 00 00 00 	lea    0x14(,%eax,2),%eax
5a716e:	50                   	push   %eax
5a716f:	56                   	push   %esi
5a7170:	e8 eb f1 ff ff       	call   0x5a6360
5a7175:	8b f8                	mov    %eax,%edi
5a7177:	8b 44 24 34          	mov    0x34(%esp),%eax
5a717b:	89 86 ec 03 00 00    	mov    %eax,0x3ec(%esi)
5a7181:	8b 44 24 38          	mov    0x38(%esp),%eax
5a7185:	89 86 00 04 00 00    	mov    %eax,0x400(%esi)
5a718b:	8b 44 24 3c          	mov    0x3c(%esp),%eax
5a718f:	89 86 e4 03 00 00    	mov    %eax,0x3e4(%esi)
5a7195:	8b 44 24 40          	mov    0x40(%esp),%eax
5a7199:	55                   	push   %ebp
5a719a:	53                   	push   %ebx
5a719b:	89 86 74 04 00 00    	mov    %eax,0x474(%esi)
5a71a1:	e8 9a 73 00 00       	call   0x5ae540
5a71a6:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
5a71ac:	6a 00                	push   $0x0
5a71ae:	6a 00                	push   $0x0
5a71b0:	6a 0b                	push   $0xb
5a71b2:	c7 81 90 01 00 00 00 	movl   $0x0,0x190(%ecx)
5a71b9:	00 00 00
5a71bc:	ff 76 0c             	push   0xc(%esi)
5a71bf:	e8 6c 19 f5 ff       	call   0x4f8b30
5a71c4:	83 c4 34             	add    $0x34,%esp
5a71c7:	85 ff                	test   %edi,%edi
5a71c9:	7e 2e                	jle    0x5a71f9
5a71cb:	8d 44 24 10          	lea    0x10(%esp),%eax
5a71cf:	50                   	push   %eax
5a71d0:	e8 4b 15 01 00       	call   0x5b8720
5a71d5:	83 c4 04             	add    $0x4,%esp
5a71d8:	e9 52 fe ff ff       	jmp    0x5a702f
5a71dd:	68 5b 04 00 00       	push   $0x45b
5a71e2:	68 50 80 66 00       	push   $0x668050
5a71e7:	6a 44                	push   $0x44
5a71e9:	68 86 01 00 00       	push   $0x186
5a71ee:	6a 50                	push   $0x50
5a71f0:	56                   	push   %esi
5a71f1:	e8 1a 7f fe ff       	call   0x58f110
5a71f6:	83 c4 18             	add    $0x18,%esp
5a71f9:	5f                   	pop    %edi
5a71fa:	5e                   	pop    %esi
5a71fb:	5d                   	pop    %ebp
5a71fc:	83 c8 ff             	or     $0xffffffff,%eax
5a71ff:	5b                   	pop    %ebx
5a7200:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5a7204:	33 cc                	xor    %esp,%ecx
5a7206:	e8 1b a8 02 00       	call   0x5d1a26
5a720b:	83 c4 24             	add    $0x24,%esp
5a720e:	c3                   	ret
5a720f:	8b 4c 24 30          	mov    0x30(%esp),%ecx
5a7213:	b8 01 00 00 00       	mov    $0x1,%eax
5a7218:	5f                   	pop    %edi
5a7219:	5e                   	pop    %esi
5a721a:	5d                   	pop    %ebp
5a721b:	5b                   	pop    %ebx
5a721c:	33 cc                	xor    %esp,%ecx
5a721e:	e8 03 a8 02 00       	call   0x5d1a26
5a7223:	83 c4 24             	add    $0x24,%esp
5a7226:	c3                   	ret
5a7227:	cc                   	int3
5a7228:	cc                   	int3
5a7229:	cc                   	int3
5a722a:	cc                   	int3
5a722b:	cc                   	int3
5a722c:	cc                   	int3
5a722d:	cc                   	int3
5a722e:	cc                   	int3
5a722f:	cc                   	int3
5a7230:	b8 04 00 00 00       	mov    $0x4,%eax
5a7235:	e8 76 a5 02 00       	call   0x5d17b0
5a723a:	8b 54 24 08          	mov    0x8(%esp),%edx
5a723e:	53                   	push   %ebx
5a723f:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5a7243:	8b 8a 80 00 00 00    	mov    0x80(%edx),%ecx
5a7249:	66 8b 81 0a 01 00 00 	mov    0x10a(%ecx),%ax
5a7250:	66 89 81 08 01 00 00 	mov    %ax,0x108(%ecx)
5a7257:	8b 8a 80 00 00 00    	mov    0x80(%edx),%ecx
5a725d:	81 fb 01 01 00 00    	cmp    $0x101,%ebx
5a7263:	75 4c                	jne    0x5a72b1
5a7265:	0f b7 81 08 01 00 00 	movzwl 0x108(%ecx),%eax
5a726c:	6a 01                	push   $0x1
5a726e:	6a 01                	push   $0x1
5a7270:	ff 74 24 18          	push   0x18(%esp)
5a7274:	c6 81 20 01 00 00 01 	movb   $0x1,0x120(%ecx)
5a727b:	c7 81 24 01 00 00 00 	movl   $0x0,0x124(%ecx)
5a7282:	00 00 00
5a7285:	66 89 81 28 01 00 00 	mov    %ax,0x128(%ecx)
5a728c:	c7 81 2c 01 00 00 00 	movl   $0x0,0x12c(%ecx)
5a7293:	00 00 00
5a7296:	c7 81 30 01 00 00 00 	movl   $0x0,0x130(%ecx)
5a729d:	00 00 00
5a72a0:	e8 fb cc ff ff       	call   0x5a3fa0
5a72a5:	83 c4 0c             	add    $0xc,%esp
5a72a8:	85 c0                	test   %eax,%eax
5a72aa:	75 6b                	jne    0x5a7317
5a72ac:	33 c0                	xor    %eax,%eax
5a72ae:	5b                   	pop    %ebx
5a72af:	59                   	pop    %ecx
5a72b0:	c3                   	ret
5a72b1:	66 ff 81 0a 01 00 00 	incw   0x10a(%ecx)
5a72b8:	8b 8a 80 00 00 00    	mov    0x80(%edx),%ecx
5a72be:	0f b7 81 08 01 00 00 	movzwl 0x108(%ecx),%eax
5a72c5:	66 89 81 28 01 00 00 	mov    %ax,0x128(%ecx)
5a72cc:	8d 44 24 04          	lea    0x4(%esp),%eax
5a72d0:	50                   	push   %eax
5a72d1:	6a 0c                	push   $0xc
5a72d3:	ff 74 24 18          	push   0x18(%esp)
5a72d7:	88 99 20 01 00 00    	mov    %bl,0x120(%ecx)
5a72dd:	c7 81 24 01 00 00 00 	movl   $0x0,0x124(%ecx)
5a72e4:	00 00 00
5a72e7:	c7 81 2c 01 00 00 00 	movl   $0x0,0x12c(%ecx)
5a72ee:	00 00 00
5a72f1:	c7 81 30 01 00 00 00 	movl   $0x0,0x130(%ecx)
5a72f8:	00 00 00
5a72fb:	e8 70 c9 ff ff       	call   0x5a3c70
5a7300:	83 c4 0c             	add    $0xc,%esp
5a7303:	85 c0                	test   %eax,%eax
5a7305:	74 a5                	je     0x5a72ac
5a7307:	ff 74 24 10          	push   0x10(%esp)
5a730b:	e8 a0 cd ff ff       	call   0x5a40b0
5a7310:	83 c4 04             	add    $0x4,%esp
5a7313:	85 c0                	test   %eax,%eax
5a7315:	74 95                	je     0x5a72ac
5a7317:	b8 01 00 00 00       	mov    $0x1,%eax
5a731c:	5b                   	pop    %ebx
5a731d:	59                   	pop    %ecx