5a6534:	8b 55 0c             	mov    0xc(%ebp),%edx
5a6537:	e8 b8 c1 ff ff       	call   0x5a26f4
5a653c:	6a 00                	push   $0x0
5a653e:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a6541:	50                   	push   %eax
5a6542:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a6545:	50                   	push   %eax
5a6546:	33 c9                	xor    %ecx,%ecx
5a6548:	33 d2                	xor    %edx,%edx
5a654a:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a654d:	e8 7a c0 ff ff       	call   0x5a25cc
5a6552:	8b d8                	mov    %eax,%ebx
5a6554:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a6557:	50                   	push   %eax
5a6558:	6a 00                	push   $0x0
5a655a:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a655d:	2b 45 ec             	sub    -0x14(%ebp),%eax
5a6560:	50                   	push   %eax
5a6561:	33 c9                	xor    %ecx,%ecx
5a6563:	8b 55 f4             	mov    -0xc(%ebp),%edx
5a6566:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a6569:	e8 5e c0 ff ff       	call   0x5a25cc
5a656e:	8b f8                	mov    %eax,%edi
5a6570:	6a 02                	push   $0x2
5a6572:	57                   	push   %edi
5a6573:	53                   	push   %ebx
5a6574:	53                   	push   %ebx
5a6575:	e8 ce 0e e6 ff       	call   0x407448
5a657a:	57                   	push   %edi
5a657b:	e8 90 0f e6 ff       	call   0x407510
5a6580:	53                   	push   %ebx
5a6581:	8b c6                	mov    %esi,%eax
5a6583:	e8 38 27 e8 ff       	call   0x428cc0
5a6588:	50                   	push   %eax
5a6589:	e8 6a 11 e6 ff       	call   0x4076f8
5a658e:	53                   	push   %ebx
5a658f:	e8 7c 0f e6 ff       	call   0x407510
5a6594:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a6597:	50                   	push   %eax
5a6598:	33 c9                	xor    %ecx,%ecx
5a659a:	33 d2                	xor    %edx,%edx
5a659c:	8b c6                	mov    %esi,%eax
5a659e:	e8 31 20 e8 ff       	call   0x4285d4
5a65a3:	6a 00                	push   $0x0
5a65a5:	8b c6                	mov    %esi,%eax
5a65a7:	e8 14 27 e8 ff       	call   0x428cc0
5a65ac:	50                   	push   %eax
5a65ad:	e8 46 11 e6 ff       	call   0x4076f8
5a65b2:	5f                   	pop    %edi
5a65b3:	5e                   	pop    %esi
5a65b4:	5b                   	pop    %ebx
5a65b5:	8b e5                	mov    %ebp,%esp
5a65b7:	5d                   	pop    %ebp
5a65b8:	c2 0c 00             	ret    $0xc
5a65bb:	90                   	nop
5a65bc:	55                   	push   %ebp
5a65bd:	8b ec                	mov    %esp,%ebp
5a65bf:	83 c4 e8             	add    $0xffffffe8,%esp
5a65c2:	53                   	push   %ebx
5a65c3:	56                   	push   %esi
5a65c4:	57                   	push   %edi
5a65c5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5a65c8:	8b f8                	mov    %eax,%edi
5a65ca:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a65cd:	50                   	push   %eax
5a65ce:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a65d1:	50                   	push   %eax
5a65d2:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a65d5:	50                   	push   %eax
5a65d6:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a65d9:	50                   	push   %eax
5a65da:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a65dd:	50                   	push   %eax
5a65de:	8b 45 10             	mov    0x10(%ebp),%eax
5a65e1:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a65e4:	8b 55 0c             	mov    0xc(%ebp),%edx
5a65e7:	e8 08 c1 ff ff       	call   0x5a26f4
5a65ec:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a65ef:	50                   	push   %eax
5a65f0:	6a 00                	push   $0x0
5a65f2:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a65f5:	2b 45 ec             	sub    -0x14(%ebp),%eax
5a65f8:	50                   	push   %eax
5a65f9:	8b 55 f4             	mov    -0xc(%ebp),%edx
5a65fc:	d1 fa                	sar    $1,%edx
5a65fe:	79 03                	jns    0x5a6603
5a6600:	83 d2 00             	adc    $0x0,%edx
5a6603:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a6606:	d1 f8                	sar    $1,%eax
5a6608:	79 03                	jns    0x5a660d
5a660a:	83 d0 00             	adc    $0x0,%eax
5a660d:	33 c9                	xor    %ecx,%ecx
5a660f:	e8 b8 bf ff ff       	call   0x5a25cc
5a6614:	8b d8                	mov    %eax,%ebx
5a6616:	6a 00                	push   $0x0
5a6618:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a661b:	d1 f8                	sar    $1,%eax
5a661d:	79 03                	jns    0x5a6622
5a661f:	83 d0 00             	adc    $0x0,%eax
5a6622:	50                   	push   %eax
5a6623:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a6626:	d1 f8                	sar    $1,%eax
5a6628:	79 03                	jns    0x5a662d
5a662a:	83 d0 00             	adc    $0x0,%eax
5a662d:	50                   	push   %eax
5a662e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5a6631:	33 d2                	xor    %edx,%edx
5a6633:	33 c0                	xor    %eax,%eax
5a6635:	e8 92 bf ff ff       	call   0x5a25cc
5a663a:	8b f0                	mov    %eax,%esi
5a663c:	6a 02                	push   $0x2
5a663e:	56                   	push   %esi
5a663f:	53                   	push   %ebx
5a6640:	53                   	push   %ebx
5a6641:	e8 02 0e e6 ff       	call   0x407448
5a6646:	56                   	push   %esi
5a6647:	e8 c4 0e e6 ff       	call   0x407510
5a664c:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a664f:	d1 f8                	sar    $1,%eax
5a6651:	79 03                	jns    0x5a6656
5a6653:	83 d0 00             	adc    $0x0,%eax
5a6656:	50                   	push   %eax
5a6657:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a665a:	50                   	push   %eax
5a665b:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a665e:	50                   	push   %eax
5a665f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5a6662:	d1 f9                	sar    $1,%ecx
5a6664:	79 03                	jns    0x5a6669
5a6666:	83 d1 00             	adc    $0x0,%ecx
5a6669:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a666c:	2b 45 f0             	sub    -0x10(%ebp),%eax
5a666f:	8b 55 f4             	mov    -0xc(%ebp),%edx
5a6672:	e8 55 bf ff ff       	call   0x5a25cc
5a6677:	8b f0                	mov    %eax,%esi
5a6679:	6a 02                	push   $0x2
5a667b:	56                   	push   %esi
5a667c:	53                   	push   %ebx
5a667d:	53                   	push   %ebx
5a667e:	e8 c5 0d e6 ff       	call   0x407448
5a6683:	56                   	push   %esi
5a6684:	e8 87 0e e6 ff       	call   0x407510
5a6689:	6a 00                	push   $0x0
5a668b:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a668e:	50                   	push   %eax
5a668f:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a6692:	50                   	push   %eax
5a6693:	8b 55 f4             	mov    -0xc(%ebp),%edx
5a6696:	d1 fa                	sar    $1,%edx
5a6698:	79 03                	jns    0x5a669d
5a669a:	83 d2 00             	adc    $0x0,%edx
5a669d:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a66a0:	d1 f8                	sar    $1,%eax
5a66a2:	79 03                	jns    0x5a66a7
5a66a4:	83 d0 00             	adc    $0x0,%eax
5a66a7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5a66aa:	e8 1d bf ff ff       	call   0x5a25cc
5a66af:	8b f0                	mov    %eax,%esi
5a66b1:	6a 02                	push   $0x2
5a66b3:	56                   	push   %esi
5a66b4:	53                   	push   %ebx
5a66b5:	53                   	push   %ebx
5a66b6:	e8 8d 0d e6 ff       	call   0x407448
5a66bb:	56                   	push   %esi
5a66bc:	e8 4f 0e e6 ff       	call   0x407510
5a66c1:	53                   	push   %ebx
5a66c2:	8b c7                	mov    %edi,%eax
5a66c4:	e8 f7 25 e8 ff       	call   0x428cc0
5a66c9:	50                   	push   %eax
5a66ca:	e8 29 10 e6 ff       	call   0x4076f8
5a66cf:	53                   	push   %ebx
5a66d0:	e8 3b 0e e6 ff       	call   0x407510
5a66d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a66d8:	50                   	push   %eax
5a66d9:	33 c9                	xor    %ecx,%ecx
5a66db:	33 d2                	xor    %edx,%edx
5a66dd:	8b c7                	mov    %edi,%eax
5a66df:	e8 f0 1e e8 ff       	call   0x4285d4
5a66e4:	6a 00                	push   $0x0
5a66e6:	8b c7                	mov    %edi,%eax
5a66e8:	e8 d3 25 e8 ff       	call   0x428cc0
5a66ed:	50                   	push   %eax
5a66ee:	e8 05 10 e6 ff       	call   0x4076f8
5a66f3:	5f                   	pop    %edi
5a66f4:	5e                   	pop    %esi
5a66f5:	5b                   	pop    %ebx
5a66f6:	8b e5                	mov    %ebp,%esp
5a66f8:	5d                   	pop    %ebp
5a66f9:	c2 0c 00             	ret    $0xc
5a66fc:	55                   	push   %ebp
5a66fd:	8b ec                	mov    %esp,%ebp
5a66ff:	83 c4 e0             	add    $0xffffffe0,%esp
5a6702:	53                   	push   %ebx
5a6703:	56                   	push   %esi
5a6704:	57                   	push   %edi
5a6705:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5a6708:	89 45 fc             	mov    %eax,-0x4(%ebp)
5a670b:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a670e:	50                   	push   %eax
5a670f:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a6712:	50                   	push   %eax
5a6713:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a6716:	50                   	push   %eax
5a6717:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a671a:	50                   	push   %eax
5a671b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5a671e:	50                   	push   %eax
5a671f:	8b 45 10             	mov    0x10(%ebp),%eax
5a6722:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a6725:	8b 55 0c             	mov    0xc(%ebp),%edx
5a6728:	e8 c7 bf ff ff       	call   0x5a26f4
5a672d:	33 ff                	xor    %edi,%edi
5a672f:	83 7d e4 01          	cmpl   $0x1,-0x1c(%ebp)
5a6733:	7e 0d                	jle    0x5a6742
5a6735:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a6738:	d1 f8                	sar    $1,%eax
5a673a:	79 03                	jns    0x5a673f
5a673c:	83 d0 00             	adc    $0x0,%eax
5a673f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5a6742:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a6745:	99                   	cltd
5a6746:	f7 7d e4             	idivl  -0x1c(%ebp)
5a6749:	89 45 ec             	mov    %eax,-0x14(%ebp)
5a674c:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a674f:	99                   	cltd
5a6750:	f7 7d e4             	idivl  -0x1c(%ebp)
5a6753:	89 45 e8             	mov    %eax,-0x18(%ebp)
5a6756:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a6759:	99                   	cltd
5a675a:	f7 7d e4             	idivl  -0x1c(%ebp)
5a675d:	89 45 f4             	mov    %eax,-0xc(%ebp)
5a6760:	8b 45 f0             	mov    -0x10(%ebp),%eax
5a6763:	99                   	cltd
5a6764:	f7 7d e4             	idivl  -0x1c(%ebp)
5a6767:	89 45 f0             	mov    %eax,-0x10(%ebp)
5a676a:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5a676d:	83 fe 00             	cmp    $0x0,%esi
5a6770:	7c 6f                	jl     0x5a67e1
5a6772:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
5a6775:	83 fb 00             	cmp    $0x0,%ebx
5a6778:	7c 61                	jl     0x5a67db
5a677a:	8b d6                	mov    %esi,%edx
5a677c:	0f af 55 f0          	imul   -0x10(%ebp),%edx
5a6780:	2b 55 e8             	sub    -0x18(%ebp),%edx
5a6783:	52                   	push   %edx
5a6784:	8b cb                	mov    %ebx,%ecx
5a6786:	0f af 4d f4          	imul   -0xc(%ebp),%ecx
5a678a:	2b 4d ec             	sub    -0x14(%ebp),%ecx
5a678d:	51                   	push   %ecx
5a678e:	8b ce                	mov    %esi,%ecx
5a6790:	0f af 4d f0          	imul   -0x10(%ebp),%ecx
5a6794:	03 4d e8             	add    -0x18(%ebp),%ecx
5a6797:	51                   	push   %ecx
5a6798:	8b c3                	mov    %ebx,%eax
5a679a:	0f af 45 f4          	imul   -0xc(%ebp),%eax
5a679e:	8b c8                	mov    %eax,%ecx
5a67a0:	03 4d ec             	add    -0x14(%ebp),%ecx
5a67a3:	51                   	push   %ecx
5a67a4:	2b 45 ec             	sub    -0x14(%ebp),%eax
5a67a7:	8b ce                	mov    %esi,%ecx
5a67a9:	0f af 4d f0          	imul   -0x10(%ebp),%ecx
5a67ad:	59                   	pop    %ecx
5a67ae:	e8 19 be ff ff       	call   0x5a25cc
5a67b3:	89 45 e0             	mov    %eax,-0x20(%ebp)
5a67b6:	85 ff                	test   %edi,%edi
5a67b8:	74 18                	je     0x5a67d2
5a67ba:	6a 02                	push   $0x2
5a67bc:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a67bf:	50                   	push   %eax
5a67c0:	57                   	push   %edi
5a67c1:	57                   	push   %edi
5a67c2:	e8 81 0c e6 ff       	call   0x407448
5a67c7:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a67ca:	50                   	push   %eax
5a67cb:	e8 40 0d e6 ff       	call   0x407510
5a67d0:	eb 03                	jmp    0x5a67d5
5a67d2:	8b 7d e0             	mov    -0x20(%ebp),%edi
5a67d5:	4b                   	dec    %ebx
5a67d6:	83 fb ff             	cmp    $0xffffffff,%ebx
5a67d9:	75 9f                	jne    0x5a677a
5a67db:	4e                   	dec    %esi
5a67dc:	83 fe ff             	cmp    $0xffffffff,%esi
5a67df:	75 91                	jne    0x5a6772
5a67e1:	57                   	push   %edi
5a67e2:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a67e5:	e8 d6 24 e8 ff       	call   0x428cc0
5a67ea:	50                   	push   %eax
5a67eb:	e8 08 0f e6 ff       	call   0x4076f8
5a67f0:	57                   	push   %edi
5a67f1:	e8 1a 0d e6 ff       	call   0x407510
5a67f6:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a67f9:	50                   	push   %eax
5a67fa:	33 c9                	xor    %ecx,%ecx
5a67fc:	33 d2                	xor    %edx,%edx
5a67fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a6801:	e8 ce 1d e8 ff       	call   0x4285d4
5a6806:	6a 00                	push   $0x0
5a6808:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a680b:	e8 b0 24 e8 ff       	call   0x428cc0
5a6810:	50                   	push   %eax
5a6811:	e8 e2 0e e6 ff       	call   0x4076f8
5a6816:	5f                   	pop    %edi
5a6817:	5e                   	pop    %esi
5a6818:	5b                   	pop    %ebx
5a6819:	8b e5                	mov    %ebp,%esp
5a681b:	5d                   	pop    %ebp
5a681c:	c2 0c 00             	ret    $0xc
5a681f:	90                   	nop
5a6820:	55                   	push   %ebp
5a6821:	8b ec                	mov    %esp,%ebp
5a6823:	83 c4 ec             	add    $0xffffffec,%esp
5a6826:	53                   	push   %ebx
5a6827:	56                   	push   %esi
5a6828:	57                   	push   %edi
5a6829:	8b f9                	mov    %ecx,%edi
5a682b:	8b d8                	mov    %eax,%ebx
5a682d:	8d 45 fc             	lea    -0x4(%ebp),%eax
5a6830:	50                   	push   %eax
5a6831:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a6834:	50                   	push   %eax
5a6835:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a6838:	50                   	push   %eax
5a6839:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a683c:	50                   	push   %eax
5a683d:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a6840:	50                   	push   %eax
5a6841:	8b 45 10             	mov    0x10(%ebp),%eax
5a6844:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a6847:	8b 55 0c             	mov    0xc(%ebp),%edx
5a684a:	e8 a5 be ff ff       	call   0x5a26f4
5a684f:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a6852:	50                   	push   %eax
5a6853:	6a 01                	push   $0x1
5a6855:	6a 00                	push   $0x0
5a6857:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5a685a:	8b 55 f0             	mov    -0x10(%ebp),%edx
5a685d:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a6860:	e8 a3 b9 ff ff       	call   0x5a2208
5a6865:	8b f0                	mov    %eax,%esi
5a6867:	56                   	push   %esi
5a6868:	8b c3                	mov    %ebx,%eax
5a686a:	e8 51 24 e8 ff       	call   0x428cc0
5a686f:	50                   	push   %eax
5a6870:	e8 83 0e e6 ff       	call   0x4076f8
5a6875:	56                   	push   %esi
5a6876:	e8 95 0c e6 ff       	call   0x407510
5a687b:	57                   	push   %edi
5a687c:	33 c9                	xor    %ecx,%ecx
5a687e:	33 d2                	xor    %edx,%edx
5a6880:	8b c3                	mov    %ebx,%eax