5f545c:	8b d7                	mov    %edi,%edx
5f545e:	8b 43 18             	mov    0x18(%ebx),%eax
5f5461:	e8 ae 67 e2 ff       	call   0x41bc14
5f5466:	5a                   	pop    %edx
5f5467:	5d                   	pop    %ebp
5f5468:	5f                   	pop    %edi
5f5469:	5e                   	pop    %esi
5f546a:	5b                   	pop    %ebx
5f546b:	c3                   	ret
5f546c:	55                   	push   %ebp
5f546d:	8b ec                	mov    %esp,%ebp
5f546f:	83 c4 f8             	add    $0xfffffff8,%esp
5f5472:	53                   	push   %ebx
5f5473:	56                   	push   %esi
5f5474:	57                   	push   %edi
5f5475:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f5478:	89 55 fc             	mov    %edx,-0x4(%ebp)
5f547b:	8b f0                	mov    %eax,%esi
5f547d:	33 ff                	xor    %edi,%edi
5f547f:	b8 40 00 00 00       	mov    $0x40,%eax
5f5484:	e8 23 d3 e0 ff       	call   0x4027ac
5f5489:	8b d8                	mov    %eax,%ebx
5f548b:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f548e:	50                   	push   %eax
5f548f:	8b 45 10             	mov    0x10(%ebp),%eax
5f5492:	50                   	push   %eax
5f5493:	8a 45 0c             	mov    0xc(%ebp),%al
5f5496:	50                   	push   %eax
5f5497:	8a 45 08             	mov    0x8(%ebp),%al
5f549a:	50                   	push   %eax
5f549b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f549e:	8b d3                	mov    %ebx,%edx
5f54a0:	8b c6                	mov    %esi,%eax
5f54a2:	e8 29 00 00 00       	call   0x5f54d0
5f54a7:	84 c0                	test   %al,%al
5f54a9:	74 0e                	je     0x5f54b9
5f54ab:	8b d3                	mov    %ebx,%edx
5f54ad:	8b 46 14             	mov    0x14(%esi),%eax
5f54b0:	e8 5f 67 e2 ff       	call   0x41bc14
5f54b5:	8b fb                	mov    %ebx,%edi
5f54b7:	eb 0c                	jmp    0x5f54c5
5f54b9:	ba 40 00 00 00       	mov    $0x40,%edx
5f54be:	8b c3                	mov    %ebx,%eax
5f54c0:	e8 07 d3 e0 ff       	call   0x4027cc
5f54c5:	8b c7                	mov    %edi,%eax
5f54c7:	5f                   	pop    %edi
5f54c8:	5e                   	pop    %esi
5f54c9:	5b                   	pop    %ebx
5f54ca:	59                   	pop    %ecx
5f54cb:	59                   	pop    %ecx
5f54cc:	5d                   	pop    %ebp
5f54cd:	c2 0c 00             	ret    $0xc
5f54d0:	55                   	push   %ebp
5f54d1:	8b ec                	mov    %esp,%ebp
5f54d3:	83 c4 d0             	add    $0xffffffd0,%esp
5f54d6:	53                   	push   %ebx
5f54d7:	56                   	push   %esi
5f54d8:	57                   	push   %edi
5f54d9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f54dc:	89 55 fc             	mov    %edx,-0x4(%ebp)
5f54df:	8b d8                	mov    %eax,%ebx
5f54e1:	b9 20 00 00 00       	mov    $0x20,%ecx
5f54e6:	8b 55 10             	mov    0x10(%ebp),%edx
5f54e9:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f54ec:	e8 ef b5 ff ff       	call   0x5f0ae0
5f54f1:	99                   	cltd
5f54f2:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f54f5:	89 55 f4             	mov    %edx,-0xc(%ebp)
5f54f8:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
5f54fc:	74 1f                	je     0x5f551d
5f54fe:	b9 20 00 00 00       	mov    $0x20,%ecx
5f5503:	ba 08 00 00 00       	mov    $0x8,%edx
5f5508:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f550b:	e8 d0 b5 ff ff       	call   0x5f0ae0
5f5510:	f7 6d 14             	imull  0x14(%ebp)
5f5513:	40                   	inc    %eax
5f5514:	99                   	cltd
5f5515:	89 45 d8             	mov    %eax,-0x28(%ebp)
5f5518:	89 55 dc             	mov    %edx,-0x24(%ebp)
5f551b:	eb 0e                	jmp    0x5f552b
5f551d:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
5f5524:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
5f552b:	ff 75 f4             	push   -0xc(%ebp)
5f552e:	ff 75 f0             	push   -0x10(%ebp)
5f5531:	8b 45 14             	mov    0x14(%ebp),%eax
5f5534:	99                   	cltd
5f5535:	e8 4a 05 e1 ff       	call   0x405a84
5f553a:	03 45 d8             	add    -0x28(%ebp),%eax
5f553d:	13 55 dc             	adc    -0x24(%ebp),%edx
5f5540:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f5543:	89 55 ec             	mov    %edx,-0x14(%ebp)
5f5546:	8b 45 e8             	mov    -0x18(%ebp),%eax
5f5549:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f554c:	8b 45 ec             	mov    -0x14(%ebp),%eax
5f554f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f5552:	33 f6                	xor    %esi,%esi
5f5554:	33 c9                	xor    %ecx,%ecx
5f5556:	eb 21                	jmp    0x5f5579
5f5558:	8b d6                	mov    %esi,%edx
5f555a:	8b c7                	mov    %edi,%eax
5f555c:	e8 5f 68 e2 ff       	call   0x41bdc0
5f5561:	8b c8                	mov    %eax,%ecx
5f5563:	8b 41 08             	mov    0x8(%ecx),%eax
5f5566:	33 d2                	xor    %edx,%edx
5f5568:	3b 55 e4             	cmp    -0x1c(%ebp),%edx
5f556b:	75 07                	jne    0x5f5574
5f556d:	3b 45 e0             	cmp    -0x20(%ebp),%eax
5f5570:	72 04                	jb     0x5f5576
5f5572:	eb 0d                	jmp    0x5f5581
5f5574:	7d 0b                	jge    0x5f5581
5f5576:	33 c9                	xor    %ecx,%ecx
5f5578:	46                   	inc    %esi
5f5579:	8b 7b 1c             	mov    0x1c(%ebx),%edi
5f557c:	3b 77 08             	cmp    0x8(%edi),%esi
5f557f:	7c d7                	jl     0x5f5558
5f5581:	85 c9                	test   %ecx,%ecx
5f5583:	74 2f                	je     0x5f55b4
5f5585:	8b 43 20             	mov    0x20(%ebx),%eax
5f5588:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f558b:	8b 43 24             	mov    0x24(%ebx),%eax
5f558e:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f5591:	8b 01                	mov    (%ecx),%eax
5f5593:	89 43 20             	mov    %eax,0x20(%ebx)
5f5596:	8b 41 04             	mov    0x4(%ecx),%eax
5f5599:	89 43 24             	mov    %eax,0x24(%ebx)
5f559c:	ba 10 00 00 00       	mov    $0x10,%edx
5f55a1:	8b c1                	mov    %ecx,%eax
5f55a3:	e8 24 d2 e0 ff       	call   0x4027cc
5f55a8:	8b d6                	mov    %esi,%edx
5f55aa:	8b 43 1c             	mov    0x1c(%ebx),%eax
5f55ad:	e8 ae 66 e2 ff       	call   0x41bc60
5f55b2:	eb 60                	jmp    0x5f5614
5f55b4:	8b 43 28             	mov    0x28(%ebx),%eax
5f55b7:	33 d2                	xor    %edx,%edx
5f55b9:	3b 55 e4             	cmp    -0x1c(%ebp),%edx
5f55bc:	75 07                	jne    0x5f55c5
5f55be:	3b 45 e0             	cmp    -0x20(%ebp),%eax
5f55c1:	73 0d                	jae    0x5f55d0
5f55c3:	eb 02                	jmp    0x5f55c7
5f55c5:	7d 09                	jge    0x5f55d0
5f55c7:	8b 43 38             	mov    0x38(%ebx),%eax
5f55ca:	03 45 e0             	add    -0x20(%ebp),%eax
5f55cd:	89 43 28             	mov    %eax,0x28(%ebx)
5f55d0:	8b 45 e0             	mov    -0x20(%ebp),%eax
5f55d3:	89 43 38             	mov    %eax,0x38(%ebx)
5f55d6:	8b 43 20             	mov    0x20(%ebx),%eax
5f55d9:	8b 53 24             	mov    0x24(%ebx),%edx
5f55dc:	03 45 e0             	add    -0x20(%ebp),%eax
5f55df:	13 55 e4             	adc    -0x1c(%ebp),%edx
5f55e2:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f55e5:	89 55 d4             	mov    %edx,-0x2c(%ebp)
5f55e8:	8b 45 d0             	mov    -0x30(%ebp),%eax
5f55eb:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5f55ee:	3b 53 0c             	cmp    0xc(%ebx),%edx
5f55f1:	75 07                	jne    0x5f55fa
5f55f3:	3b 43 08             	cmp    0x8(%ebx),%eax
5f55f6:	76 1c                	jbe    0x5f5614
5f55f8:	eb 02                	jmp    0x5f55fc
5f55fa:	7e 18                	jle    0x5f5614
5f55fc:	8b 43 28             	mov    0x28(%ebx),%eax
5f55ff:	33 d2                	xor    %edx,%edx
5f5601:	03 43 08             	add    0x8(%ebx),%eax
5f5604:	13 53 0c             	adc    0xc(%ebx),%edx
5f5607:	89 43 08             	mov    %eax,0x8(%ebx)
5f560a:	89 53 0c             	mov    %edx,0xc(%ebx)
5f560d:	8b c3                	mov    %ebx,%eax
5f560f:	e8 d0 fb ff ff       	call   0x5f51e4
5f5614:	8b 75 fc             	mov    -0x4(%ebp),%esi
5f5617:	8b c6                	mov    %esi,%eax
5f5619:	8b 53 20             	mov    0x20(%ebx),%edx
5f561c:	89 10                	mov    %edx,(%eax)
5f561e:	8b 53 24             	mov    0x24(%ebx),%edx
5f5621:	89 50 04             	mov    %edx,0x4(%eax)
5f5624:	8b 55 e8             	mov    -0x18(%ebp),%edx
5f5627:	89 50 08             	mov    %edx,0x8(%eax)
5f562a:	8b 55 ec             	mov    -0x14(%ebp),%edx
5f562d:	89 50 0c             	mov    %edx,0xc(%eax)
5f5630:	8b 55 e0             	mov    -0x20(%ebp),%edx
5f5633:	89 50 10             	mov    %edx,0x10(%eax)
5f5636:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5f5639:	89 50 14             	mov    %edx,0x14(%eax)
5f563c:	33 d2                	xor    %edx,%edx
5f563e:	89 50 18             	mov    %edx,0x18(%eax)
5f5641:	c6 40 1c 00          	movb   $0x0,0x1c(%eax)
5f5645:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f5648:	89 50 20             	mov    %edx,0x20(%eax)
5f564b:	8b 55 14             	mov    0x14(%ebp),%edx
5f564e:	89 50 24             	mov    %edx,0x24(%eax)
5f5651:	8a 55 08             	mov    0x8(%ebp),%dl
5f5654:	88 50 28             	mov    %dl,0x28(%eax)
5f5657:	8a 15 a4 56 5f 00    	mov    0x5f56a4,%dl
5f565d:	88 50 29             	mov    %dl,0x29(%eax)
5f5660:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f5663:	89 50 2c             	mov    %edx,0x2c(%eax)
5f5666:	8b 55 14             	mov    0x14(%ebp),%edx
5f5669:	89 50 30             	mov    %edx,0x30(%eax)
5f566c:	8b 55 10             	mov    0x10(%ebp),%edx
5f566f:	89 50 34             	mov    %edx,0x34(%eax)
5f5672:	8a 55 0c             	mov    0xc(%ebp),%dl
5f5675:	88 50 38             	mov    %dl,0x38(%eax)
5f5678:	8a 4e 29             	mov    0x29(%esi),%cl
5f567b:	8b d6                	mov    %esi,%edx
5f567d:	8b c3                	mov    %ebx,%eax
5f567f:	e8 5c fd ff ff       	call   0x5f53e0
5f5684:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
5f5688:	74 0c                	je     0x5f5696
5f568a:	8b 45 d0             	mov    -0x30(%ebp),%eax
5f568d:	89 43 20             	mov    %eax,0x20(%ebx)
5f5690:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5f5693:	89 43 24             	mov    %eax,0x24(%ebx)
5f5696:	b0 01                	mov    $0x1,%al
5f5698:	5f                   	pop    %edi
5f5699:	5e                   	pop    %esi
5f569a:	5b                   	pop    %ebx
5f569b:	8b e5                	mov    %ebp,%esp
5f569d:	5d                   	pop    %ebp
5f569e:	c2 10 00             	ret    $0x10
5f56a1:	00 00                	add    %al,(%eax)
5f56a3:	00 02                	add    %al,(%edx)
5f56a5:	00 00                	add    %al,(%eax)
5f56a7:	00 53 56             	add    %dl,0x56(%ebx)
5f56aa:	57                   	push   %edi
5f56ab:	55                   	push   %ebp
5f56ac:	83 c4 f0             	add    $0xfffffff0,%esp
5f56af:	8b da                	mov    %edx,%ebx
5f56b1:	8b f8                	mov    %eax,%edi
5f56b3:	8b c3                	mov    %ebx,%eax
5f56b5:	8b 10                	mov    (%eax),%edx
5f56b7:	ff 52 04             	call   *0x4(%edx)
5f56ba:	8b f0                	mov    %eax,%esi
5f56bc:	8b c3                	mov    %ebx,%eax
5f56be:	8b 15 18 ff 5e 00    	mov    0x5eff18,%edx
5f56c4:	e8 3b e5 e0 ff       	call   0x403c04
5f56c9:	84 c0                	test   %al,%al
5f56cb:	74 16                	je     0x5f56e3
5f56cd:	8b c3                	mov    %ebx,%eax
5f56cf:	8b 15 18 ff 5e 00    	mov    0x5eff18,%edx
5f56d5:	e8 4e e5 e0 ff       	call   0x403c28
5f56da:	e8 29 22 00 00       	call   0x5f7908
5f56df:	84 c0                	test   %al,%al
5f56e1:	75 04                	jne    0x5f56e7
5f56e3:	33 c0                	xor    %eax,%eax
5f56e5:	eb 02                	jmp    0x5f56e9
5f56e7:	b0 01                	mov    $0x1,%al
5f56e9:	88 44 24 0c          	mov    %al,0xc(%esp)
5f56ed:	56                   	push   %esi
5f56ee:	8b c3                	mov    %ebx,%eax
5f56f0:	8b 10                	mov    (%eax),%edx
5f56f2:	ff 52 10             	call   *0x10(%edx)
5f56f5:	50                   	push   %eax
5f56f6:	8a 44 24 14          	mov    0x14(%esp),%al
5f56fa:	50                   	push   %eax
5f56fb:	8b c3                	mov    %ebx,%eax
5f56fd:	8b 10                	mov    (%eax),%edx
5f56ff:	ff 52 08             	call   *0x8(%edx)
5f5702:	50                   	push   %eax
5f5703:	8b c3                	mov    %ebx,%eax
5f5705:	8b 10                	mov    (%eax),%edx
5f5707:	ff 52 0c             	call   *0xc(%edx)
5f570a:	8b d0                	mov    %eax,%edx
5f570c:	8b c7                	mov    %edi,%eax
5f570e:	59                   	pop    %ecx
5f570f:	e8 58 fd ff ff       	call   0x5f546c
5f5714:	89 04 24             	mov    %eax,(%esp)
5f5717:	8b 04 24             	mov    (%esp),%eax
5f571a:	85 c0                	test   %eax,%eax
5f571c:	0f 84 e6 00 00 00    	je     0x5f5808
5f5722:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
5f5726:	0f 84 dc 00 00 00    	je     0x5f5808
5f572c:	8b 78 18             	mov    0x18(%eax),%edi
5f572f:	8b c3                	mov    %ebx,%eax
5f5731:	8b 10                	mov    (%eax),%edx
5f5733:	ff 52 0c             	call   *0xc(%edx)
5f5736:	b9 20 00 00 00       	mov    $0x20,%ecx
5f573b:	8b d6                	mov    %esi,%edx
5f573d:	e8 9e b3 ff ff       	call   0x5f0ae0
5f5742:	8b e8                	mov    %eax,%ebp
5f5744:	8b c3                	mov    %ebx,%eax
5f5746:	8b 10                	mov    (%eax),%edx
5f5748:	ff 52 08             	call   *0x8(%edx)
5f574b:	8b f0                	mov    %eax,%esi
5f574d:	4e                   	dec    %esi
5f574e:	85 f6                	test   %esi,%esi
5f5750:	7c 31                	jl     0x5f5783
5f5752:	46                   	inc    %esi
5f5753:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f575a:	00
5f575b:	8b c3                	mov    %ebx,%eax
5f575d:	8b 10                	mov    (%eax),%edx
5f575f:	ff 52 08             	call   *0x8(%edx)
5f5762:	8b d0                	mov    %eax,%edx
5f5764:	2b 54 24 04          	sub    0x4(%esp),%edx
5f5768:	4a                   	dec    %edx
5f5769:	8b c3                	mov    %ebx,%eax
5f576b:	8b 08                	mov    (%eax),%ecx
5f576d:	ff 11                	call   *(%ecx)
5f576f:	8b d0                	mov    %eax,%edx
5f5771:	8b cd                	mov    %ebp,%ecx
5f5773:	8b c7                	mov    %edi,%eax
5f5775:	e8 46 27 e1 ff       	call   0x407ec0
5f577a:	03 fd                	add    %ebp,%edi
5f577c:	ff 44 24 04          	incl   0x4(%esp)
5f5780:	4e                   	dec    %esi
5f5781:	75 d8                	jne    0x5f575b
5f5783:	80 7c 24 0c 00       	cmpb   $0x0,0xc(%esp)
5f5788:	74 7e                	je     0x5f5808
5f578a:	8b c3                	mov    %ebx,%eax
5f578c:	8b 10                	mov    (%eax),%edx
5f578e:	ff 52 0c             	call   *0xc(%edx)
5f5791:	b9 20 00 00 00       	mov    $0x20,%ecx
5f5796:	ba 08 00 00 00       	mov    $0x8,%edx
5f579b:	e8 40 b3 ff ff       	call   0x5f0ae0
5f57a0:	8b e8                	mov    %eax,%ebp
5f57a2:	8b c3                	mov    %ebx,%eax
5f57a4:	8b 15 18 ff 5e 00    	mov    0x5eff18,%edx
5f57aa:	e8 79 e4 e0 ff       	call   0x403c28
5f57af:	89 44 24 08          	mov    %eax,0x8(%esp)
5f57b3:	8b 44 24 08          	mov    0x8(%esp),%eax
5f57b7:	e8 1c 21 00 00       	call   0x5f78d8
5f57bc:	8a 40 43             	mov    0x43(%eax),%al
5f57bf:	88 07                	mov    %al,(%edi)
5f57c1:	47                   	inc    %edi
5f57c2:	8b c3                	mov    %ebx,%eax
5f57c4:	8b 10                	mov    (%eax),%edx
5f57c6:	ff 52 08             	call   *0x8(%edx)
5f57c9:	8b f0                	mov    %eax,%esi
5f57cb:	4e                   	dec    %esi
5f57cc:	85 f6                	test   %esi,%esi
5f57ce:	7c 38                	jl     0x5f5808
5f57d0:	46                   	inc    %esi
5f57d1:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5f57d8:	00
5f57d9:	8b c3                	mov    %ebx,%eax
5f57db:	8b 10                	mov    (%eax),%edx
5f57dd:	ff 52 08             	call   *0x8(%edx)
5f57e0:	2b 44 24 04          	sub    0x4(%esp),%eax
5f57e4:	48                   	dec    %eax
5f57e5:	50                   	push   %eax
5f57e6:	8b 44 24 0c          	mov    0xc(%esp),%eax
5f57ea:	e8 e9 20 00 00       	call   0x5f78d8
5f57ef:	5a                   	pop    %edx
5f57f0:	8b 08                	mov    (%eax),%ecx
5f57f2:	ff 11                	call   *(%ecx)
5f57f4:	8b d0                	mov    %eax,%edx
5f57f6:	8b cd                	mov    %ebp,%ecx
5f57f8:	8b c7                	mov    %edi,%eax
5f57fa:	e8 c1 26 e1 ff       	call   0x407ec0
5f57ff:	03 fd                	add    %ebp,%edi
5f5801:	ff 44 24 04          	incl   0x4(%esp)
5f5805:	4e                   	dec    %esi