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
5a6882:	e8 4d 1d e8 ff       	call   0x4285d4
5a6887:	6a 00                	push   $0x0
5a6889:	8b c3                	mov    %ebx,%eax
5a688b:	e8 30 24 e8 ff       	call   0x428cc0
5a6890:	50                   	push   %eax
5a6891:	e8 62 0e e6 ff       	call   0x4076f8
5a6896:	5f                   	pop    %edi
5a6897:	5e                   	pop    %esi
5a6898:	5b                   	pop    %ebx
5a6899:	8b e5                	mov    %ebp,%esp
5a689b:	5d                   	pop    %ebp
5a689c:	c2 0c 00             	ret    $0xc
5a689f:	90                   	nop
5a68a0:	55                   	push   %ebp
5a68a1:	8b ec                	mov    %esp,%ebp
5a68a3:	83 c4 ec             	add    $0xffffffec,%esp
5a68a6:	53                   	push   %ebx
5a68a7:	56                   	push   %esi
5a68a8:	57                   	push   %edi
5a68a9:	8b f9                	mov    %ecx,%edi
5a68ab:	8b d8                	mov    %eax,%ebx
5a68ad:	8d 45 fc             	lea    -0x4(%ebp),%eax
5a68b0:	50                   	push   %eax
5a68b1:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a68b4:	50                   	push   %eax
5a68b5:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a68b8:	50                   	push   %eax
5a68b9:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a68bc:	50                   	push   %eax
5a68bd:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a68c0:	50                   	push   %eax
5a68c1:	8b 45 10             	mov    0x10(%ebp),%eax
5a68c4:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a68c7:	8b 55 0c             	mov    0xc(%ebp),%edx
5a68ca:	e8 25 be ff ff       	call   0x5a26f4
5a68cf:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a68d2:	50                   	push   %eax
5a68d3:	6a 02                	push   $0x2
5a68d5:	6a 00                	push   $0x0
5a68d7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5a68da:	8b 55 f0             	mov    -0x10(%ebp),%edx
5a68dd:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a68e0:	e8 23 b9 ff ff       	call   0x5a2208
5a68e5:	8b f0                	mov    %eax,%esi
5a68e7:	56                   	push   %esi
5a68e8:	8b c3                	mov    %ebx,%eax
5a68ea:	e8 d1 23 e8 ff       	call   0x428cc0
5a68ef:	50                   	push   %eax
5a68f0:	e8 03 0e e6 ff       	call   0x4076f8
5a68f5:	56                   	push   %esi
5a68f6:	e8 15 0c e6 ff       	call   0x407510
5a68fb:	57                   	push   %edi
5a68fc:	33 c9                	xor    %ecx,%ecx
5a68fe:	33 d2                	xor    %edx,%edx
5a6900:	8b c3                	mov    %ebx,%eax
5a6902:	e8 cd 1c e8 ff       	call   0x4285d4
5a6907:	6a 00                	push   $0x0
5a6909:	8b c3                	mov    %ebx,%eax
5a690b:	e8 b0 23 e8 ff       	call   0x428cc0
5a6910:	50                   	push   %eax
5a6911:	e8 e2 0d e6 ff       	call   0x4076f8
5a6916:	5f                   	pop    %edi
5a6917:	5e                   	pop    %esi
5a6918:	5b                   	pop    %ebx
5a6919:	8b e5                	mov    %ebp,%esp
5a691b:	5d                   	pop    %ebp
5a691c:	c2 0c 00             	ret    $0xc
5a691f:	90                   	nop
5a6920:	55                   	push   %ebp
5a6921:	8b ec                	mov    %esp,%ebp
5a6923:	83 c4 ec             	add    $0xffffffec,%esp
5a6926:	53                   	push   %ebx
5a6927:	56                   	push   %esi
5a6928:	57                   	push   %edi
5a6929:	8b f9                	mov    %ecx,%edi
5a692b:	8b d8                	mov    %eax,%ebx
5a692d:	8d 45 fc             	lea    -0x4(%ebp),%eax
5a6930:	50                   	push   %eax
5a6931:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a6934:	50                   	push   %eax
5a6935:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a6938:	50                   	push   %eax
5a6939:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a693c:	50                   	push   %eax
5a693d:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a6940:	50                   	push   %eax
5a6941:	8b 45 10             	mov    0x10(%ebp),%eax
5a6944:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a6947:	8b 55 0c             	mov    0xc(%ebp),%edx
5a694a:	e8 a5 bd ff ff       	call   0x5a26f4
5a694f:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a6952:	50                   	push   %eax
5a6953:	6a 00                	push   $0x0
5a6955:	6a 01                	push   $0x1
5a6957:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5a695a:	8b 55 f0             	mov    -0x10(%ebp),%edx
5a695d:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a6960:	e8 a3 b8 ff ff       	call   0x5a2208
5a6965:	8b f0                	mov    %eax,%esi
5a6967:	56                   	push   %esi
5a6968:	8b c3                	mov    %ebx,%eax
5a696a:	e8 51 23 e8 ff       	call   0x428cc0
5a696f:	50                   	push   %eax
5a6970:	e8 83 0d e6 ff       	call   0x4076f8
5a6975:	56                   	push   %esi
5a6976:	e8 95 0b e6 ff       	call   0x407510
5a697b:	57                   	push   %edi
5a697c:	33 c9                	xor    %ecx,%ecx
5a697e:	33 d2                	xor    %edx,%edx
5a6980:	8b c3                	mov    %ebx,%eax
5a6982:	e8 4d 1c e8 ff       	call   0x4285d4
5a6987:	6a 00                	push   $0x0
5a6989:	8b c3                	mov    %ebx,%eax
5a698b:	e8 30 23 e8 ff       	call   0x428cc0
5a6990:	50                   	push   %eax
5a6991:	e8 62 0d e6 ff       	call   0x4076f8
5a6996:	5f                   	pop    %edi
5a6997:	5e                   	pop    %esi
5a6998:	5b                   	pop    %ebx
5a6999:	8b e5                	mov    %ebp,%esp
5a699b:	5d                   	pop    %ebp
5a699c:	c2 0c 00             	ret    $0xc
5a699f:	90                   	nop
5a69a0:	55                   	push   %ebp
5a69a1:	8b ec                	mov    %esp,%ebp
5a69a3:	83 c4 ec             	add    $0xffffffec,%esp
5a69a6:	53                   	push   %ebx
5a69a7:	56                   	push   %esi
5a69a8:	57                   	push   %edi
5a69a9:	8b f9                	mov    %ecx,%edi
5a69ab:	8b d8                	mov    %eax,%ebx
5a69ad:	8d 45 fc             	lea    -0x4(%ebp),%eax
5a69b0:	50                   	push   %eax
5a69b1:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a69b4:	50                   	push   %eax
5a69b5:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a69b8:	50                   	push   %eax
5a69b9:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a69bc:	50                   	push   %eax
5a69bd:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a69c0:	50                   	push   %eax
5a69c1:	8b 45 10             	mov    0x10(%ebp),%eax
5a69c4:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a69c7:	8b 55 0c             	mov    0xc(%ebp),%edx
5a69ca:	e8 25 bd ff ff       	call   0x5a26f4
5a69cf:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a69d2:	50                   	push   %eax
5a69d3:	6a 00                	push   $0x0
5a69d5:	6a 02                	push   $0x2
5a69d7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5a69da:	8b 55 f0             	mov    -0x10(%ebp),%edx
5a69dd:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a69e0:	e8 23 b8 ff ff       	call   0x5a2208
5a69e5:	8b f0                	mov    %eax,%esi
5a69e7:	56                   	push   %esi
5a69e8:	8b c3                	mov    %ebx,%eax
5a69ea:	e8 d1 22 e8 ff       	call   0x428cc0
5a69ef:	50                   	push   %eax
5a69f0:	e8 03 0d e6 ff       	call   0x4076f8
5a69f5:	56                   	push   %esi
5a69f6:	e8 15 0b e6 ff       	call   0x407510
5a69fb:	57                   	push   %edi
5a69fc:	33 c9                	xor    %ecx,%ecx
5a69fe:	33 d2                	xor    %edx,%edx
5a6a00:	8b c3                	mov    %ebx,%eax
5a6a02:	e8 cd 1b e8 ff       	call   0x4285d4
5a6a07:	6a 00                	push   $0x0
5a6a09:	8b c3                	mov    %ebx,%eax
5a6a0b:	e8 b0 22 e8 ff       	call   0x428cc0
5a6a10:	50                   	push   %eax
5a6a11:	e8 e2 0c e6 ff       	call   0x4076f8
5a6a16:	5f                   	pop    %edi
5a6a17:	5e                   	pop    %esi
5a6a18:	5b                   	pop    %ebx
5a6a19:	8b e5                	mov    %ebp,%esp