5bfea0:	84 c0                	test   %al,%al
5bfea2:	74 51                	je     0x5bfef5
5bfea4:	3b bd 54 ff ff ff    	cmp    -0xac(%ebp),%edi
5bfeaa:	74 3f                	je     0x5bfeeb
5bfeac:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
5bfeb3:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
5bfeba:	0f 10 45 d8          	movups -0x28(%ebp),%xmm0
5bfebe:	0f 11 07             	movups %xmm0,(%edi)
5bfec1:	f3 0f 7e 45 e8       	movq   -0x18(%ebp),%xmm0
5bfec6:	66 0f d6 47 10       	movq   %xmm0,0x10(%edi)
5bfecb:	83 c7 18             	add    $0x18,%edi
5bfece:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5bfed5:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
5bfedc:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
5bfee0:	89 bd 48 ff ff ff    	mov    %edi,-0xb8(%ebp)
5bfee6:	e9 c5 fe ff ff       	jmp    0x5bfdb0
5bfeeb:	8d 45 d8             	lea    -0x28(%ebp),%eax
5bfeee:	50                   	push   %eax
5bfeef:	57                   	push   %edi
5bfef0:	e9 9a fe ff ff       	jmp    0x5bfd8f
5bfef5:	6a 01                	push   $0x1
5bfef7:	6a 02                	push   $0x2
5bfef9:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
5bfeff:	e8 2c ee fb ff       	call   0x57ed30
5bff04:	8b cf                	mov    %edi,%ecx
5bff06:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
5bff0a:	2b 8d 60 ff ff ff    	sub    -0xa0(%ebp),%ecx
5bff10:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5bff15:	f7 e9                	imul   %ecx
5bff17:	c7 85 5c ff ff ff 00 	movl   $0x0,-0xa4(%ebp)
5bff1e:	00 00 00
5bff21:	c1 fa 02             	sar    $0x2,%edx
5bff24:	8b c2                	mov    %edx,%eax
5bff26:	c1 e8 1f             	shr    $0x1f,%eax
5bff29:	03 c2                	add    %edx,%eax
5bff2b:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
5bff31:	74 69                	je     0x5bff9c
5bff33:	8b bd 60 ff ff ff    	mov    -0xa0(%ebp),%edi
5bff39:	48                   	dec    %eax
5bff3a:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
5bff40:	8b f0                	mov    %eax,%esi
5bff42:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
5bff46:	8b c7                	mov    %edi,%eax
5bff48:	72 02                	jb     0x5bff4c
5bff4a:	8b 07                	mov    (%edi),%eax
5bff4c:	ff 77 10             	push   0x10(%edi)
5bff4f:	50                   	push   %eax
5bff50:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
5bff56:	50                   	push   %eax
5bff57:	e8 d4 5d fc ff       	call   0x585d30
5bff5c:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
5bff62:	83 c4 0c             	add    $0xc,%esp
5bff65:	3b c6                	cmp    %esi,%eax
5bff67:	73 15                	jae    0x5bff7e
5bff69:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
5bff6f:	50                   	push   %eax
5bff70:	e8 db da ff ff       	call   0x5bda50
5bff75:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
5bff7b:	83 c4 04             	add    $0x4,%esp
5bff7e:	40                   	inc    %eax
5bff7f:	83 c7 18             	add    $0x18,%edi
5bff82:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
5bff88:	3b 85 40 ff ff ff    	cmp    -0xc0(%ebp),%eax
5bff8e:	72 b2                	jb     0x5bff42
5bff90:	8b b5 58 ff ff ff    	mov    -0xa8(%ebp),%esi
5bff96:	8b bd 48 ff ff ff    	mov    -0xb8(%ebp),%edi
5bff9c:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
5bffa2:	e8 99 ac ed ff       	call   0x49ac40
5bffa7:	8d 45 a8             	lea    -0x58(%ebp),%eax
5bffaa:	50                   	push   %eax
5bffab:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
5bffb1:	e8 fa ee fb ff       	call   0x57eeb0
5bffb6:	8b c8                	mov    %eax,%ecx
5bffb8:	8b 06                	mov    (%esi),%eax
5bffba:	6a 00                	push   $0x0
5bffbc:	51                   	push   %ecx
5bffbd:	8b ce                	mov    %esi,%ecx
5bffbf:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
5bffc3:	8b 40 08             	mov    0x8(%eax),%eax
5bffc6:	ff d0                	call   *%eax
5bffc8:	8b 55 bc             	mov    -0x44(%ebp),%edx
5bffcb:	88 85 67 ff ff ff    	mov    %al,-0x99(%ebp)
5bffd1:	83 fa 10             	cmp    $0x10,%edx
5bffd4:	72 2c                	jb     0x5c0002
5bffd6:	8b 4d a8             	mov    -0x58(%ebp),%ecx
5bffd9:	42                   	inc    %edx
5bffda:	8b c1                	mov    %ecx,%eax
5bffdc:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5bffe2:	72 14                	jb     0x5bfff8
5bffe4:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5bffe7:	83 c2 23             	add    $0x23,%edx
5bffea:	2b c1                	sub    %ecx,%eax
5bffec:	83 c0 fc             	add    $0xfffffffc,%eax
5bffef:	83 f8 1f             	cmp    $0x1f,%eax
5bfff2:	0f 87 a9 01 00 00    	ja     0x5c01a1
5bfff8:	52                   	push   %edx
5bfff9:	51                   	push   %ecx
5bfffa:	e8 73 10 02 00       	call   0x5e1072
5bffff:	83 c4 08             	add    $0x8,%esp
5c0002:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
5c0008:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
5c000f:	c7 45 bc 0f 00 00 00 	movl   $0xf,-0x44(%ebp)
5c0016:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
5c001a:	e8 31 e8 e8 ff       	call   0x44e850
5c001f:	8d 8d 8c fe ff ff    	lea    -0x174(%ebp),%ecx
5c0025:	e8 96 3c ed ff       	call   0x493cc0
5c002a:	eb 1b                	jmp    0x5c0047
5c002c:	8d 8d 8c fe ff ff    	lea    -0x174(%ebp),%ecx
5c0032:	c6 85 67 ff ff ff 01 	movb   $0x1,-0x99(%ebp)
5c0039:	e8 82 3c ed ff       	call   0x493cc0
5c003e:	eb 07                	jmp    0x5c0047
5c0040:	c6 85 67 ff ff ff 00 	movb   $0x0,-0x99(%ebp)
5c0047:	85 f6                	test   %esi,%esi
5c0049:	74 08                	je     0x5c0053
5c004b:	8b 06                	mov    (%esi),%eax
5c004d:	8b ce                	mov    %esi,%ecx
5c004f:	6a 01                	push   $0x1
5c0051:	ff 10                	call   *(%eax)
5c0053:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
5c0059:	e8 02 4f ff ff       	call   0x5b4f60
5c005e:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
5c0064:	85 c9                	test   %ecx,%ecx
5c0066:	0f 84 9e 00 00 00    	je     0x5c010a
5c006c:	8b f1                	mov    %ecx,%esi
5c006e:	3b f7                	cmp    %edi,%esi
5c0070:	74 51                	je     0x5c00c3
5c0072:	8b 4e 14             	mov    0x14(%esi),%ecx
5c0075:	83 f9 10             	cmp    $0x10,%ecx
5c0078:	72 2b                	jb     0x5c00a5
5c007a:	8b 06                	mov    (%esi),%eax
5c007c:	41                   	inc    %ecx
5c007d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c0083:	72 16                	jb     0x5c009b
5c0085:	8b 50 fc             	mov    -0x4(%eax),%edx
5c0088:	83 c1 23             	add    $0x23,%ecx
5c008b:	2b c2                	sub    %edx,%eax
5c008d:	83 c0 fc             	add    $0xfffffffc,%eax
5c0090:	83 f8 1f             	cmp    $0x1f,%eax
5c0093:	0f 87 0d 01 00 00    	ja     0x5c01a6
5c0099:	8b c2                	mov    %edx,%eax
5c009b:	51                   	push   %ecx
5c009c:	50                   	push   %eax
5c009d:	e8 d0 0f 02 00       	call   0x5e1072
5c00a2:	83 c4 08             	add    $0x8,%esp
5c00a5:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5c00ac:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
5c00b3:	c6 06 00             	movb   $0x0,(%esi)
5c00b6:	83 c6 18             	add    $0x18,%esi
5c00b9:	3b f7                	cmp    %edi,%esi
5c00bb:	75 b5                	jne    0x5c0072
5c00bd:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
5c00c3:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
5c00c9:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5c00ce:	2b d1                	sub    %ecx,%edx
5c00d0:	f7 ea                	imul   %edx
5c00d2:	c1 fa 02             	sar    $0x2,%edx
5c00d5:	8b c2                	mov    %edx,%eax
5c00d7:	c1 e8 1f             	shr    $0x1f,%eax
5c00da:	03 c2                	add    %edx,%eax
5c00dc:	8d 14 40             	lea    (%eax,%eax,2),%edx
5c00df:	8b c1                	mov    %ecx,%eax
5c00e1:	c1 e2 03             	shl    $0x3,%edx
5c00e4:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c00ea:	72 14                	jb     0x5c0100
5c00ec:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c00ef:	83 c2 23             	add    $0x23,%edx
5c00f2:	2b c1                	sub    %ecx,%eax
5c00f4:	83 c0 fc             	add    $0xfffffffc,%eax
5c00f7:	83 f8 1f             	cmp    $0x1f,%eax
5c00fa:	0f 87 a6 00 00 00    	ja     0x5c01a6
5c0100:	52                   	push   %edx
5c0101:	51                   	push   %ecx
5c0102:	e8 6b 0f 02 00       	call   0x5e1072
5c0107:	83 c4 08             	add    $0x8,%esp
5c010a:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5c010d:	83 fa 10             	cmp    $0x10,%edx
5c0110:	72 2c                	jb     0x5c013e
5c0112:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5c0115:	42                   	inc    %edx
5c0116:	8b c1                	mov    %ecx,%eax
5c0118:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c011e:	72 14                	jb     0x5c0134
5c0120:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c0123:	83 c2 23             	add    $0x23,%edx
5c0126:	2b c1                	sub    %ecx,%eax
5c0128:	83 c0 fc             	add    $0xfffffffc,%eax
5c012b:	83 f8 1f             	cmp    $0x1f,%eax
5c012e:	0f 87 72 00 00 00    	ja     0x5c01a6
5c0134:	52                   	push   %edx
5c0135:	51                   	push   %ecx
5c0136:	e8 37 0f 02 00       	call   0x5e1072
5c013b:	83 c4 08             	add    $0x8,%esp
5c013e:	8b 55 ec             	mov    -0x14(%ebp),%edx
5c0141:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
5c0148:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
5c014f:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
5c0153:	83 fa 10             	cmp    $0x10,%edx
5c0156:	72 28                	jb     0x5c0180
5c0158:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5c015b:	42                   	inc    %edx
5c015c:	8b c1                	mov    %ecx,%eax
5c015e:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c0164:	72 10                	jb     0x5c0176
5c0166:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c0169:	83 c2 23             	add    $0x23,%edx
5c016c:	2b c1                	sub    %ecx,%eax
5c016e:	83 c0 fc             	add    $0xfffffffc,%eax
5c0171:	83 f8 1f             	cmp    $0x1f,%eax
5c0174:	77 30                	ja     0x5c01a6
5c0176:	52                   	push   %edx
5c0177:	51                   	push   %ecx
5c0178:	e8 f5 0e 02 00       	call   0x5e1072
5c017d:	83 c4 08             	add    $0x8,%esp
5c0180:	8a 85 67 ff ff ff    	mov    -0x99(%ebp),%al
5c0186:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c0189:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c0190:	59                   	pop    %ecx
5c0191:	5f                   	pop    %edi
5c0192:	5e                   	pop    %esi
5c0193:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5c0196:	33 cd                	xor    %ebp,%ecx
5c0198:	e8 3d 13 02 00       	call   0x5e14da
5c019d:	8b e5                	mov    %ebp,%esp
5c019f:	5d                   	pop    %ebp
5c01a0:	c3                   	ret
5c01a1:	e8 89 cd 02 00       	call   0x5ecf2f
5c01a6:	e8 84 cd 02 00       	call   0x5ecf2f
5c01ab:	cc                   	int3
5c01ac:	cc                   	int3
5c01ad:	cc                   	int3
5c01ae:	cc                   	int3
5c01af:	cc                   	int3
5c01b0:	55                   	push   %ebp
5c01b1:	8b ec                	mov    %esp,%ebp
5c01b3:	6a ff                	push   $0xffffffff
5c01b5:	68 93 f3 65 00       	push   $0x65f393
5c01ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c01c0:	50                   	push   %eax
5c01c1:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
5c01c7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5c01cc:	33 c5                	xor    %ebp,%eax
5c01ce:	89 45 ec             	mov    %eax,-0x14(%ebp)
5c01d1:	53                   	push   %ebx
5c01d2:	56                   	push   %esi
5c01d3:	57                   	push   %edi
5c01d4:	50                   	push   %eax
5c01d5:	8d 45 f4             	lea    -0xc(%ebp),%eax
5c01d8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5c01de:	89 65 f0             	mov    %esp,-0x10(%ebp)
5c01e1:	8b 75 08             	mov    0x8(%ebp),%esi
5c01e4:	b3 01                	mov    $0x1,%bl
5c01e6:	8a 7d 0c             	mov    0xc(%ebp),%bh
5c01e9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c01f0:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
5c01f7:	c7 45 e8 0f 00 00 00 	movl   $0xf,-0x18(%ebp)
5c01fe:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
5c0202:	88 5d fc             	mov    %bl,-0x4(%ebp)
5c0205:	e8 b6 4f 00 00       	call   0x5c51c0
5c020a:	84 c0                	test   %al,%al
5c020c:	0f 84 6b 01 00 00    	je     0x5c037d
5c0212:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5c0215:	50                   	push   %eax
5c0216:	e8 45 2b 00 00       	call   0x5c2d60
5c021b:	83 c4 04             	add    $0x4,%esp
5c021e:	84 c0                	test   %al,%al
5c0220:	0f 84 6d 01 00 00    	je     0x5c0393
5c0226:	6a 01                	push   $0x1
5c0228:	b9 08 00 00 00       	mov    $0x8,%ecx
5c022d:	84 ff                	test   %bh,%bh
5c022f:	6a 40                	push   $0x40
5c0231:	b8 02 00 00 00       	mov    $0x2,%eax
5c0236:	0f 45 c1             	cmovne %ecx,%eax
5c0239:	8d 8d dc fe ff ff    	lea    -0x124(%ebp),%ecx
5c023f:	50                   	push   %eax
5c0240:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5c0243:	50                   	push   %eax
5c0244:	e8 57 db ff ff       	call   0x5bdda0
5c0249:	83 bd 40 ff ff ff 00 	cmpl   $0x0,-0xc0(%ebp)
5c0250:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5c0254:	75 46                	jne    0x5c029c
5c0256:	8d 8d dc fe ff ff    	lea    -0x124(%ebp),%ecx
5c025c:	e8 8f dd ff ff       	call   0x5bdff0
5c0261:	8b 55 e8             	mov    -0x18(%ebp),%edx
5c0264:	83 fa 10             	cmp    $0x10,%edx
5c0267:	72 2c                	jb     0x5c0295
5c0269:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5c026c:	42                   	inc    %edx
5c026d:	8b c1                	mov    %ecx,%eax
5c026f:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c0275:	72 14                	jb     0x5c028b
5c0277:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c027a:	83 c2 23             	add    $0x23,%edx
5c027d:	2b c1                	sub    %ecx,%eax
5c027f:	83 c0 fc             	add    $0xfffffffc,%eax
5c0282:	83 f8 1f             	cmp    $0x1f,%eax
5c0285:	0f 87 60 01 00 00    	ja     0x5c03eb
5c028b:	52                   	push   %edx
5c028c:	51                   	push   %ecx
5c028d:	e8 e0 0d 02 00       	call   0x5e1072
5c0292:	83 c4 08             	add    $0x8,%esp
5c0295:	32 c0                	xor    %al,%al
5c0297:	e9 c3 00 00 00       	jmp    0x5c035f
5c029c:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
5c02a0:	8b c6                	mov    %esi,%eax
5c02a2:	72 02                	jb     0x5c02a6
5c02a4:	8b 06                	mov    (%esi),%eax
5c02a6:	ff 76 10             	push   0x10(%esi)
5c02a9:	50                   	push   %eax
5c02aa:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
5c02b0:	50                   	push   %eax
5c02b1:	e8 7a 5a fc ff       	call   0x585d30
5c02b6:	83 c4 0c             	add    $0xc,%esp
5c02b9:	8d 8d ec fe ff ff    	lea    -0x114(%ebp),%ecx
5c02bf:	e8 7c a9 ed ff       	call   0x49ac40
5c02c4:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
5c02ca:	e8 21 09 00 00       	call   0x5c0bf0
5c02cf:	85 c0                	test   %eax,%eax
5c02d1:	75 3c                	jne    0x5c030f
5c02d3:	8b 85 dc fe ff ff    	mov    -0x124(%ebp),%eax
5c02d9:	8b 48 04             	mov    0x4(%eax),%ecx
5c02dc:	33 c0                	xor    %eax,%eax
5c02de:	39 84 0d 14 ff ff ff 	cmp    %eax,-0xec(%ebp,%ecx,1)
5c02e5:	0f 94 c0             	sete   %al
5c02e8:	8d 04 85 02 00 00 00 	lea    0x2(,%eax,4),%eax
5c02ef:	0b 84 0d e8 fe ff ff 	or     -0x118(%ebp,%ecx,1),%eax
5c02f6:	83 e0 17             	and    $0x17,%eax
5c02f9:	89 84 0d e8 fe ff ff 	mov    %eax,-0x118(%ebp,%ecx,1)
5c0300:	8b 8c 0d ec fe ff ff 	mov    -0x114(%ebp,%ecx,1),%ecx
5c0307:	23 c8                	and    %eax,%ecx
5c0309:	0f 85 9a 00 00 00    	jne    0x5c03a9
5c030f:	8d 8d dc fe ff ff    	lea    -0x124(%ebp),%ecx
5c0315:	e8 d6 dc ff ff       	call   0x5bdff0
5c031a:	8b 55 e8             	mov    -0x18(%ebp),%edx
5c031d:	83 fa 10             	cmp    $0x10,%edx
5c0320:	72 3b                	jb     0x5c035d
5c0322:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5c0325:	42                   	inc    %edx
5c0326:	8b c1                	mov    %ecx,%eax
5c0328:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c032e:	72 14                	jb     0x5c0344
5c0330:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c0333:	83 c2 23             	add    $0x23,%edx
5c0336:	2b c1                	sub    %ecx,%eax
5c0338:	83 c0 fc             	add    $0xfffffffc,%eax
5c033b:	83 f8 1f             	cmp    $0x1f,%eax
5c033e:	0f 87 a7 00 00 00    	ja     0x5c03eb
5c0344:	52                   	push   %edx
5c0345:	51                   	push   %ecx
5c0346:	e8 27 0d 02 00       	call   0x5e1072
5c034b:	83 c4 08             	add    $0x8,%esp