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
5b9495:	2b c1                	sub    %ecx,%eax
5b9497:	83 e8 30             	sub    $0x30,%eax
5b949a:	83 f8 18             	cmp    $0x18,%eax
5b949d:	0f 83 a4 03 00 00    	jae    0x5b9847
5b94a3:	83 79 2c 10          	cmpl   $0x10,0x2c(%ecx)
5b94a7:	8d 41 18             	lea    0x18(%ecx),%eax
5b94aa:	72 02                	jb     0x5b94ae
5b94ac:	8b 00                	mov    (%eax),%eax
5b94ae:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5b94b2:	72 02                	jb     0x5b94b6
5b94b4:	8b 09                	mov    (%ecx),%ecx
5b94b6:	6a 01                	push   $0x1
5b94b8:	50                   	push   %eax
5b94b9:	51                   	push   %ecx
5b94ba:	e8 11 7f ff ff       	call   0x5b13d0
5b94bf:	83 c4 0c             	add    $0xc,%esp
5b94c2:	89 07                	mov    %eax,(%edi)
5b94c4:	e9 e2 0d 00 00       	jmp    0x5ba2ab
5b94c9:	8b 46 04             	mov    0x4(%esi),%eax
5b94cc:	8b 16                	mov    (%esi),%edx
5b94ce:	2b c2                	sub    %edx,%eax
5b94d0:	83 e8 0c             	sub    $0xc,%eax
5b94d3:	83 f8 0c             	cmp    $0xc,%eax
5b94d6:	0f 83 6b 03 00 00    	jae    0x5b9847
5b94dc:	8b 42 04             	mov    0x4(%edx),%eax
5b94df:	8b 0a                	mov    (%edx),%ecx
5b94e1:	2b c1                	sub    %ecx,%eax
5b94e3:	83 e8 18             	sub    $0x18,%eax
5b94e6:	83 f8 18             	cmp    $0x18,%eax
5b94e9:	0f 83 58 03 00 00    	jae    0x5b9847
5b94ef:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5b94f3:	72 02                	jb     0x5b94f7
5b94f5:	8b 09                	mov    (%ecx),%ecx
5b94f7:	6a 01                	push   $0x1
5b94f9:	51                   	push   %ecx
5b94fa:	e8 31 7a ff ff       	call   0x5b0f30
5b94ff:	83 c4 08             	add    $0x8,%esp
5b9502:	89 07                	mov    %eax,(%edi)
5b9504:	e9 a2 0d 00 00       	jmp    0x5ba2ab
5b9509:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
5b9510:	00 00 00
5b9513:	c7 85 ec fe ff ff 00 	movl   $0x0,-0x114(%ebp)
5b951a:	00 00 00
5b951d:	c7 85 f0 fe ff ff 00 	movl   $0x0,-0x110(%ebp)
5b9524:	00 00 00
5b9527:	8b 4e 04             	mov    0x4(%esi),%ecx
5b952a:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b952f:	2b 0e                	sub    (%esi),%ecx
5b9531:	f7 e9                	imul   %ecx
5b9533:	c7 45 fc 08 00 00 00 	movl   $0x8,-0x4(%ebp)
5b953a:	d1 fa                	sar    $1,%edx
5b953c:	8b c2                	mov    %edx,%eax
5b953e:	c1 e8 1f             	shr    $0x1f,%eax
5b9541:	03 c2                	add    %edx,%eax
5b9543:	83 f8 01             	cmp    $0x1,%eax
5b9546:	0f 85 fb 02 00 00    	jne    0x5b9847
5b954c:	8b 0e                	mov    (%esi),%ecx
5b954e:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b9553:	8b 31                	mov    (%ecx),%esi
5b9555:	8b 49 04             	mov    0x4(%ecx),%ecx
5b9558:	2b ce                	sub    %esi,%ecx
5b955a:	f7 e9                	imul   %ecx
5b955c:	c1 fa 02             	sar    $0x2,%edx
5b955f:	8b c2                	mov    %edx,%eax
5b9561:	c1 e8 1f             	shr    $0x1f,%eax
5b9564:	03 c2                	add    %edx,%eax
5b9566:	83 f8 01             	cmp    $0x1,%eax
5b9569:	0f 85 d8 02 00 00    	jne    0x5b9847
5b956f:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
5b9573:	72 02                	jb     0x5b9577
5b9575:	8b 36                	mov    (%esi),%esi
5b9577:	6a 01                	push   $0x1
5b9579:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
5b957f:	56                   	push   %esi
5b9580:	50                   	push   %eax
5b9581:	e8 0a 6b ff ff       	call   0x5b0090
5b9586:	8b b5 e8 fe ff ff    	mov    -0x118(%ebp),%esi
5b958c:	33 c9                	xor    %ecx,%ecx
5b958e:	89 07                	mov    %eax,(%edi)
5b9590:	83 c4 0c             	add    $0xc,%esp
5b9593:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
5b9599:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b959e:	89 8d e4 fe ff ff    	mov    %ecx,-0x11c(%ebp)
5b95a4:	8b cf                	mov    %edi,%ecx
5b95a6:	2b ce                	sub    %esi,%ecx
5b95a8:	f7 e9                	imul   %ecx
5b95aa:	c1 fa 02             	sar    $0x2,%edx
5b95ad:	8b c2                	mov    %edx,%eax
5b95af:	c1 e8 1f             	shr    $0x1f,%eax
5b95b2:	03 c2                	add    %edx,%eax
5b95b4:	0f 84 e7 01 00 00    	je     0x5b97a1
5b95ba:	33 c0                	xor    %eax,%eax
5b95bc:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
5b95c2:	c7 85 64 ff ff ff 00 	movl   $0x0,-0x9c(%ebp)
5b95c9:	00 00 00
5b95cc:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
5b95d3:	00 00 00
5b95d6:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
5b95dd:	00 00 00
5b95e0:	03 c6                	add    %esi,%eax
5b95e2:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
5b95e6:	50                   	push   %eax
5b95e7:	6a 00                	push   $0x0
5b95e9:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5b95ef:	e8 fc 0e e9 ff       	call   0x44a4f0
5b95f4:	8b 7b 04             	mov    0x4(%ebx),%edi
5b95f7:	89 bd d4 fe ff ff    	mov    %edi,-0x12c(%ebp)
5b95fd:	3b 7b 08             	cmp    0x8(%ebx),%edi
5b9600:	0f 84 c3 00 00 00    	je     0x5b96c9
5b9606:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
5b960c:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
5b9612:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
5b9618:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
5b961f:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5b9626:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
5b962c:	3b f0                	cmp    %eax,%esi
5b962e:	0f 84 8f 00 00 00    	je     0x5b96c3
5b9634:	8b c8                	mov    %eax,%ecx
5b9636:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b963b:	2b ce                	sub    %esi,%ecx
5b963d:	f7 e9                	imul   %ecx
5b963f:	8b cf                	mov    %edi,%ecx
5b9641:	c1 fa 02             	sar    $0x2,%edx
5b9644:	8b f2                	mov    %edx,%esi
5b9646:	c1 ee 1f             	shr    $0x1f,%esi
5b9649:	03 f2                	add    %edx,%esi
5b964b:	56                   	push   %esi
5b964c:	e8 0f ba e8 ff       	call   0x445060
5b9651:	8b f8                	mov    %eax,%edi
5b9653:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
5b9656:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
5b965c:	89 85 cc fe ff ff    	mov    %eax,-0x134(%ebp)
5b9662:	8d 0c cf             	lea    (%edi,%ecx,8),%ecx
5b9665:	89 38                	mov    %edi,(%eax)
5b9667:	89 78 04             	mov    %edi,0x4(%eax)
5b966a:	89 48 08             	mov    %ecx,0x8(%eax)
5b966d:	8b b5 d8 fe ff ff    	mov    -0x128(%ebp),%esi
5b9673:	89 bd 4c ff ff ff    	mov    %edi,-0xb4(%ebp)
5b9679:	89 bd 50 ff ff ff    	mov    %edi,-0xb0(%ebp)
5b967f:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
5b9685:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
5b968b:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
5b968f:	90                   	nop
5b9690:	56                   	push   %esi
5b9691:	8b cf                	mov    %edi,%ecx
5b9693:	e8 08 37 e8 ff       	call   0x43cda0
5b9698:	83 c7 18             	add    $0x18,%edi
5b969b:	83 c6 18             	add    $0x18,%esi
5b969e:	89 bd 50 ff ff ff    	mov    %edi,-0xb0(%ebp)
5b96a4:	3b f3                	cmp    %ebx,%esi
5b96a6:	75 e8                	jne    0x5b9690
5b96a8:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
5b96ae:	8b 9d e0 fe ff ff    	mov    -0x120(%ebp),%ebx
5b96b4:	8b b5 d8 fe ff ff    	mov    -0x128(%ebp),%esi
5b96ba:	89 bd 4c ff ff ff    	mov    %edi,-0xb4(%ebp)
5b96c0:	89 78 04             	mov    %edi,0x4(%eax)
5b96c3:	83 43 04 0c          	addl   $0xc,0x4(%ebx)
5b96c7:	eb 15                	jmp    0x5b96de
5b96c9:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
5b96cf:	8b cb                	mov    %ebx,%ecx
5b96d1:	50                   	push   %eax
5b96d2:	57                   	push   %edi
5b96d3:	e8 48 ac e8 ff       	call   0x444320
5b96d8:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
5b96de:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
5b96e2:	85 f6                	test   %esi,%esi
5b96e4:	74 7b                	je     0x5b9761
5b96e6:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
5b96ec:	50                   	push   %eax
5b96ed:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
5b96f3:	56                   	push   %esi
5b96f4:	e8 b7 ab e8 ff       	call   0x4442b0
5b96f9:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
5b96ff:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b9704:	2b ce                	sub    %esi,%ecx