5b8fcb:	6a 00                	push   $0x0
5b8fcd:	8d 8d e8 fe ff ff    	lea    -0x118(%ebp),%ecx
5b8fd3:	e8 18 15 e9 ff       	call   0x44a4f0
5b8fd8:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
5b8fde:	8b cb                	mov    %ebx,%ecx
5b8fe0:	50                   	push   %eax
5b8fe1:	e8 9a 22 00 00       	call   0x5bb280
5b8fe6:	8b b5 e8 fe ff ff    	mov    -0x118(%ebp),%esi
5b8fec:	85 f6                	test   %esi,%esi
5b8fee:	74 5d                	je     0x5b904d
5b8ff0:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
5b8ff6:	50                   	push   %eax
5b8ff7:	ff b5 ec fe ff ff    	push   -0x114(%ebp)
5b8ffd:	56                   	push   %esi
5b8ffe:	e8 ad b2 e8 ff       	call   0x4442b0
5b9003:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
5b9009:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b900e:	2b ce                	sub    %esi,%ecx
5b9010:	83 c4 0c             	add    $0xc,%esp
5b9013:	f7 e9                	imul   %ecx
5b9015:	c1 fa 02             	sar    $0x2,%edx
5b9018:	8b c2                	mov    %edx,%eax
5b901a:	c1 e8 1f             	shr    $0x1f,%eax
5b901d:	03 c2                	add    %edx,%eax
5b901f:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5b9022:	8b c6                	mov    %esi,%eax
5b9024:	c1 e1 03             	shl    $0x3,%ecx
5b9027:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5b902d:	72 14                	jb     0x5b9043
5b902f:	8b 76 fc             	mov    -0x4(%esi),%esi
5b9032:	83 c1 23             	add    $0x23,%ecx
5b9035:	2b c6                	sub    %esi,%eax
5b9037:	83 c0 fc             	add    $0xfffffffc,%eax
5b903a:	83 f8 1f             	cmp    $0x1f,%eax
5b903d:	0f 87 84 12 00 00    	ja     0x5ba2c7
5b9043:	51                   	push   %ecx
5b9044:	56                   	push   %esi
5b9045:	e8 28 80 02 00       	call   0x5e1072
5b904a:	83 c4 08             	add    $0x8,%esp
5b904d:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
5b9053:	83 fa 10             	cmp    $0x10,%edx
5b9056:	0f 82 4f 12 00 00    	jb     0x5ba2ab
5b905c:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
5b9062:	42                   	inc    %edx
5b9063:	8b c1                	mov    %ecx,%eax
5b9065:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5b906b:	72 14                	jb     0x5b9081
5b906d:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5b9070:	83 c2 23             	add    $0x23,%edx
5b9073:	2b c1                	sub    %ecx,%eax
5b9075:	83 c0 fc             	add    $0xfffffffc,%eax
5b9078:	83 f8 1f             	cmp    $0x1f,%eax
5b907b:	0f 87 46 12 00 00    	ja     0x5ba2c7
5b9081:	52                   	push   %edx
5b9082:	51                   	push   %ecx
5b9083:	e8 ea 7f 02 00       	call   0x5e1072
5b9088:	83 c4 08             	add    $0x8,%esp
5b908b:	e9 1b 12 00 00       	jmp    0x5ba2ab
5b9090:	8b 46 04             	mov    0x4(%esi),%eax
5b9093:	8b 16                	mov    (%esi),%edx
5b9095:	2b c2                	sub    %edx,%eax
5b9097:	83 e8 0c             	sub    $0xc,%eax
5b909a:	83 f8 0c             	cmp    $0xc,%eax
5b909d:	0f 83 a4 07 00 00    	jae    0x5b9847
5b90a3:	8b 42 04             	mov    0x4(%edx),%eax
5b90a6:	8b 0a                	mov    (%edx),%ecx
5b90a8:	2b c1                	sub    %ecx,%eax
5b90aa:	83 e8 48             	sub    $0x48,%eax
5b90ad:	83 f8 18             	cmp    $0x18,%eax
5b90b0:	0f 83 91 07 00 00    	jae    0x5b9847
5b90b6:	83 79 44 10          	cmpl   $0x10,0x44(%ecx)
5b90ba:	8d 41 30             	lea    0x30(%ecx),%eax
5b90bd:	72 02                	jb     0x5b90c1
5b90bf:	8b 00                	mov    (%eax),%eax
5b90c1:	83 79 2c 10          	cmpl   $0x10,0x2c(%ecx)
5b90c5:	8d 51 18             	lea    0x18(%ecx),%edx
5b90c8:	72 02                	jb     0x5b90cc
5b90ca:	8b 12                	mov    (%edx),%edx
5b90cc:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5b90d0:	72 02                	jb     0x5b90d4
5b90d2:	8b 09                	mov    (%ecx),%ecx
5b90d4:	6a 01                	push   $0x1
5b90d6:	50                   	push   %eax
5b90d7:	52                   	push   %edx
5b90d8:	51                   	push   %ecx
5b90d9:	e8 02 8f ff ff       	call   0x5b1fe0
5b90de:	83 c4 10             	add    $0x10,%esp
5b90e1:	89 07                	mov    %eax,(%edi)
5b90e3:	e9 c3 11 00 00       	jmp    0x5ba2ab
5b90e8:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
5b90ee:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b90f3:	8b 4e 04             	mov    0x4(%esi),%ecx
5b90f6:	2b 0e                	sub    (%esi),%ecx
5b90f8:	f7 e9                	imul   %ecx
5b90fa:	d1 fa                	sar    $1,%edx
5b90fc:	8b da                	mov    %edx,%ebx
5b90fe:	c1 eb 1f             	shr    $0x1f,%ebx
5b9101:	03 da                	add    %edx,%ebx
5b9103:	89 9d d4 fe ff ff    	mov    %ebx,-0x12c(%ebp)
5b9109:	0f 84 96 11 00 00    	je     0x5ba2a5
5b910f:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
5b9115:	50                   	push   %eax
5b9116:	53                   	push   %ebx
5b9117:	8d 8d c4 fe ff ff    	lea    -0x13c(%ebp),%ecx
5b911d:	e8 ee e8 ff ff       	call   0x5b7a10
5b9122:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
5b9128:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
5b912f:	50                   	push   %eax
5b9130:	53                   	push   %ebx
5b9131:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5b9137:	e8 d4 e8 ff ff       	call   0x5b7a10
5b913c:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
5b9142:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5b9146:	50                   	push   %eax
5b9147:	53                   	push   %ebx
5b9148:	8d 8d e8 fe ff ff    	lea    -0x118(%ebp),%ecx
5b914e:	e8 bd e8 ff ff       	call   0x5b7a10
5b9153:	c7 85 4c ff ff ff 00 	movl   $0x0,-0xb4(%ebp)
5b915a:	00 00 00
5b915d:	c7 85 50 ff ff ff 00 	movl   $0x0,-0xb0(%ebp)
5b9164:	00 00 00
5b9167:	c7 85 54 ff ff ff 00 	movl   $0x0,-0xac(%ebp)
5b916e:	00 00 00
5b9171:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
5b9175:	33 db                	xor    %ebx,%ebx
5b9177:	c7 85 e0 fe ff ff 00 	movl   $0x0,-0x120(%ebp)
5b917e:	00 00 00
5b9181:	c7 85 f4 fe ff ff 00 	movl   $0x0,-0x10c(%ebp)
5b9188:	00 00 00
5b918b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5b9190:	8b 0e                	mov    (%esi),%ecx
5b9192:	8b 44 19 04          	mov    0x4(%ecx,%ebx,1),%eax
5b9196:	8b 14 19             	mov    (%ecx,%ebx,1),%edx
5b9199:	2b c2                	sub    %edx,%eax
5b919b:	83 e8 48             	sub    $0x48,%eax
5b919e:	83 f8 18             	cmp    $0x18,%eax
5b91a1:	0f 83 e2 00 00 00    	jae    0x5b9289
5b91a7:	8b 85 c4 fe ff ff    	mov    -0x13c(%ebp),%eax
5b91ad:	03 85 f4 fe ff ff    	add    -0x10c(%ebp),%eax
5b91b3:	89 85 d8 fe ff ff    	mov    %eax,-0x128(%ebp)
5b91b9:	3b c2                	cmp    %edx,%eax
5b91bb:	74 1b                	je     0x5b91d8
5b91bd:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
5b91c1:	8b c2                	mov    %edx,%eax
5b91c3:	72 02                	jb     0x5b91c7
5b91c5:	8b 02                	mov    (%edx),%eax
5b91c7:	ff 72 10             	push   0x10(%edx)
5b91ca:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
5b91d0:	50                   	push   %eax
5b91d1:	e8 6a c0 e8 ff       	call   0x445240
5b91d6:	8b 0e                	mov    (%esi),%ecx
5b91d8:	8b 14 19             	mov    (%ecx,%ebx,1),%edx
5b91db:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
5b91e1:	83 c2 18             	add    $0x18,%edx
5b91e4:	03 85 f4 fe ff ff    	add    -0x10c(%ebp),%eax
5b91ea:	8b bd e4 fe ff ff    	mov    -0x11c(%ebp),%edi
5b91f0:	89 85 d8 fe ff ff    	mov    %eax,-0x128(%ebp)
5b91f6:	3b c2                	cmp    %edx,%eax
5b91f8:	74 1b                	je     0x5b9215
5b91fa:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
5b91fe:	8b c2                	mov    %edx,%eax
5b9200:	72 02                	jb     0x5b9204
5b9202:	8b 02                	mov    (%edx),%eax
5b9204:	ff 72 10             	push   0x10(%edx)
5b9207:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
5b920d:	50                   	push   %eax
5b920e:	e8 2d c0 e8 ff       	call   0x445240
5b9213:	8b 0e                	mov    (%esi),%ecx
5b9215:	8b 14 19             	mov    (%ecx,%ebx,1),%edx
5b9218:	8b 8d f4 fe ff ff    	mov    -0x10c(%ebp),%ecx
5b921e:	83 c2 30             	add    $0x30,%edx
5b9221:	03 8d e8 fe ff ff    	add    -0x118(%ebp),%ecx
5b9227:	3b ca                	cmp    %edx,%ecx
5b9229:	74 13                	je     0x5b923e
5b922b:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
5b922f:	8b c2                	mov    %edx,%eax
5b9231:	72 02                	jb     0x5b9235
5b9233:	8b 02                	mov    (%edx),%eax
5b9235:	ff 72 10             	push   0x10(%edx)
5b9238:	50                   	push   %eax
5b9239:	e8 02 c0 e8 ff       	call   0x445240
5b923e:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
5b9244:	83 c3 0c             	add    $0xc,%ebx
5b9247:	83 85 f4 fe ff ff 18 	addl   $0x18,-0x10c(%ebp)
5b924e:	40                   	inc    %eax
5b924f:	89 85 e0 fe ff ff    	mov    %eax,-0x120(%ebp)
5b9255:	3b 85 d4 fe ff ff    	cmp    -0x12c(%ebp),%eax
5b925b:	0f 82 2f ff ff ff    	jb     0x5b9190
5b9261:	83 3f 01             	cmpl   $0x1,(%edi)
5b9264:	75 29                	jne    0x5b928f
5b9266:	6a 01                	push   $0x1
5b9268:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
5b926e:	50                   	push   %eax
5b926f:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
5b9275:	50                   	push   %eax
5b9276:	8d 85 c4 fe ff ff    	lea    -0x13c(%ebp),%eax
5b927c:	50                   	push   %eax
5b927d:	e8 fe 86 ff ff       	call   0x5b1980
5b9282:	83 c4 10             	add    $0x10,%esp
5b9285:	89 07                	mov    %eax,(%edi)
5b9287:	eb 06                	jmp    0x5b928f
5b9289:	c7 07 0a 00 00 00    	movl   $0xa,(%edi)
5b928f:	8d 8d e8 fe ff ff    	lea    -0x118(%ebp),%ecx
5b9295:	e8 66 bc e8 ff       	call   0x444f00
5b929a:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5b92a0:	e8 5b bc e8 ff       	call   0x444f00
5b92a5:	8d 8d c4 fe ff ff    	lea    -0x13c(%ebp),%ecx
5b92ab:	e8 50 bc e8 ff       	call   0x444f00
5b92b0:	e9 f6 0f 00 00       	jmp    0x5ba2ab
5b92b5:	8b 4e 04             	mov    0x4(%esi),%ecx
5b92b8:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b92bd:	2b 0e                	sub    (%esi),%ecx
5b92bf:	f7 e9                	imul   %ecx
5b92c1:	c7 85 e0 fe ff ff 00 	movl   $0x0,-0x120(%ebp)
5b92c8:	00 00 00
5b92cb:	d1 fa                	sar    $1,%edx
5b92cd:	8b c2                	mov    %edx,%eax
5b92cf:	c1 e8 1f             	shr    $0x1f,%eax
5b92d2:	03 c2                	add    %edx,%eax
5b92d4:	83 f8 01             	cmp    $0x1,%eax
5b92d7:	0f 85 6a 05 00 00    	jne    0x5b9847
5b92dd:	8b 0e                	mov    (%esi),%ecx
5b92df:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b92e4:	8b 31                	mov    (%ecx),%esi
5b92e6:	8b 49 04             	mov    0x4(%ecx),%ecx
5b92e9:	2b ce                	sub    %esi,%ecx
5b92eb:	f7 e9                	imul   %ecx
5b92ed:	c1 fa 02             	sar    $0x2,%edx
5b92f0:	8b c2                	mov    %edx,%eax
5b92f2:	c1 e8 1f             	shr    $0x1f,%eax
5b92f5:	03 c2                	add    %edx,%eax
5b92f7:	83 f8 01             	cmp    $0x1,%eax
5b92fa:	0f 85 47 05 00 00    	jne    0x5b9847
5b9300:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
5b9304:	72 02                	jb     0x5b9308
5b9306:	8b 36                	mov    (%esi),%esi
5b9308:	6a 01                	push   $0x1
5b930a:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
5b9310:	56                   	push   %esi
5b9311:	50                   	push   %eax
5b9312:	e8 79 75 ff ff       	call   0x5b0890
5b9317:	83 c4 0c             	add    $0xc,%esp
5b931a:	89 07                	mov    %eax,(%edi)
5b931c:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
5b9323:	00 00 00
5b9326:	c7 85 ec fe ff ff 00 	movl   $0x0,-0x114(%ebp)
5b932d:	00 00 00
5b9330:	c7 85 f0 fe ff ff 00 	movl   $0x0,-0x110(%ebp)
5b9337:	00 00 00
5b933a:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
5b9340:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
5b9347:	85 c0                	test   %eax,%eax
5b9349:	79 18                	jns    0x5b9363
5b934b:	f7 d8                	neg    %eax
5b934d:	50                   	push   %eax
5b934e:	8d 85 55 ff ff ff    	lea    -0xab(%ebp),%eax
5b9354:	50                   	push   %eax
5b9355:	e8 86 b3 e8 ff       	call   0x4446e0
5b935a:	c6 40 ff 2d          	movb   $0x2d,-0x1(%eax)
5b935e:	8d 48 ff             	lea    -0x1(%eax),%ecx
5b9361:	eb 0f                	jmp    0x5b9372
5b9363:	50                   	push   %eax
5b9364:	8d 85 55 ff ff ff    	lea    -0xab(%ebp),%eax
5b936a:	50                   	push   %eax
5b936b:	e8 70 b3 e8 ff       	call   0x4446e0
5b9370:	8b c8                	mov    %eax,%ecx
5b9372:	8d 85 55 ff ff ff    	lea    -0xab(%ebp),%eax
5b9378:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
5b937f:	00 00 00
5b9382:	83 c4 08             	add    $0x8,%esp
5b9385:	c7 85 6c ff ff ff 0f 	movl   $0xf,-0x94(%ebp)
5b938c:	00 00 00
5b938f:	c6 85 58 ff ff ff 00 	movb   $0x0,-0xa8(%ebp)
5b9396:	3b c8                	cmp    %eax,%ecx
5b9398:	74 0f                	je     0x5b93a9
5b939a:	2b c1                	sub    %ecx,%eax
5b939c:	50                   	push   %eax
5b939d:	51                   	push   %ecx
5b939e:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
5b93a4:	e8 97 be e8 ff       	call   0x445240
5b93a9:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
5b93af:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
5b93b3:	50                   	push   %eax
5b93b4:	6a 00                	push   $0x0
5b93b6:	8d 8d e8 fe ff ff    	lea    -0x118(%ebp),%ecx
5b93bc:	e8 8f b1 e8 ff       	call   0x444550
5b93c1:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
5b93c7:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
5b93cb:	83 fa 10             	cmp    $0x10,%edx
5b93ce:	72 2f                	jb     0x5b93ff
5b93d0:	8b 8d 58 ff ff ff    	mov    -0xa8(%ebp),%ecx
5b93d6:	42                   	inc    %edx
5b93d7:	8b c1                	mov    %ecx,%eax
5b93d9:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5b93df:	72 14                	jb     0x5b93f5
5b93e1:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5b93e4:	83 c2 23             	add    $0x23,%edx
5b93e7:	2b c1                	sub    %ecx,%eax
5b93e9:	83 c0 fc             	add    $0xfffffffc,%eax
5b93ec:	83 f8 1f             	cmp    $0x1f,%eax
5b93ef:	0f 87 d7 0e 00 00    	ja     0x5ba2cc
5b93f5:	52                   	push   %edx
5b93f6:	51                   	push   %ecx
5b93f7:	e8 76 7c 02 00       	call   0x5e1072
5b93fc:	83 c4 08             	add    $0x8,%esp
5b93ff:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
5b9405:	8b cb                	mov    %ebx,%ecx
5b9407:	50                   	push   %eax
5b9408:	e8 73 1e 00 00       	call   0x5bb280
5b940d:	8b b5 e8 fe ff ff    	mov    -0x118(%ebp),%esi
5b9413:	85 f6                	test   %esi,%esi
5b9415:	0f 84 90 0e 00 00    	je     0x5ba2ab
5b941b:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
5b9421:	50                   	push   %eax
5b9422:	ff b5 ec fe ff ff    	push   -0x114(%ebp)
5b9428:	56                   	push   %esi
5b9429:	e8 82 ae e8 ff       	call   0x4442b0
5b942e:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
5b9434:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b9439:	2b ce                	sub    %esi,%ecx
5b943b:	83 c4 0c             	add    $0xc,%esp
5b943e:	f7 e9                	imul   %ecx
5b9440:	c1 fa 02             	sar    $0x2,%edx
5b9443:	8b c2                	mov    %edx,%eax
5b9445:	c1 e8 1f             	shr    $0x1f,%eax
5b9448:	03 c2                	add    %edx,%eax
5b944a:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5b944d:	8b c6                	mov    %esi,%eax
5b944f:	c1 e1 03             	shl    $0x3,%ecx
5b9452:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5b9458:	72 14                	jb     0x5b946e
5b945a:	8b 76 fc             	mov    -0x4(%esi),%esi
5b945d:	83 c1 23             	add    $0x23,%ecx
5b9460:	2b c6                	sub    %esi,%eax
5b9462:	83 c0 fc             	add    $0xfffffffc,%eax
5b9465:	83 f8 1f             	cmp    $0x1f,%eax
5b9468:	0f 87 5e 0e 00 00    	ja     0x5ba2cc
5b946e:	51                   	push   %ecx
5b946f:	56                   	push   %esi
5b9470:	e8 fd 7b 02 00       	call   0x5e1072
5b9475:	83 c4 08             	add    $0x8,%esp
5b9478:	e9 2e 0e 00 00       	jmp    0x5ba2ab
5b947d:	8b 46 04             	mov    0x4(%esi),%eax
5b9480:	8b 16                	mov    (%esi),%edx
5b9482:	2b c2                	sub    %edx,%eax
5b9484:	83 e8 0c             	sub    $0xc,%eax
5b9487:	83 f8 0c             	cmp    $0xc,%eax
5b948a:	0f 83 b7 03 00 00    	jae    0x5b9847
5b9490:	8b 42 04             	mov    0x4(%edx),%eax
5b9493:	8b 0a                	mov    (%edx),%ecx