59d77d:	8d 0c 24             	lea    (%esp),%ecx
59d780:	51                   	push   %ecx
59d781:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
59d785:	51                   	push   %ecx
59d786:	ff 74 24 14          	push   0x14(%esp)
59d78a:	50                   	push   %eax
59d78b:	e8 50 de 00 00       	call   0x5ab5e0
59d790:	83 c4 10             	add    $0x10,%esp
59d793:	85 c0                	test   %eax,%eax
59d795:	75 19                	jne    0x59d7b0
59d797:	6a 5c                	push   $0x5c
59d799:	68 a8 a8 6c 00       	push   $0x6ca8a8
59d79e:	6a 41                	push   $0x41
59d7a0:	6a 6e                	push   $0x6e
59d7a2:	6a 23                	push   $0x23
59d7a4:	e8 f7 3c f0 ff       	call   0x4a14a0
59d7a9:	83 c4 14             	add    $0x14,%esp
59d7ac:	33 c0                	xor    %eax,%eax
59d7ae:	59                   	pop    %ecx
59d7af:	c3                   	ret
59d7b0:	8b 44 24 08          	mov    0x8(%esp),%eax
59d7b4:	8b 0c 24             	mov    (%esp),%ecx
59d7b7:	56                   	push   %esi
59d7b8:	ff 74 24 2c          	push   0x2c(%esp)
59d7bc:	ff 74 24 2c          	push   0x2c(%esp)
59d7c0:	ff 74 24 2c          	push   0x2c(%esp)
59d7c4:	ff 74 24 2c          	push   0x2c(%esp)
59d7c8:	ff 74 24 2c          	push   0x2c(%esp)
59d7cc:	ff 74 24 2c          	push   0x2c(%esp)
59d7d0:	ff 74 24 2c          	push   0x2c(%esp)
59d7d4:	51                   	push   %ecx
59d7d5:	50                   	push   %eax
59d7d6:	e8 35 00 00 00       	call   0x59d810
59d7db:	8b f0                	mov    %eax,%esi
59d7dd:	83 c4 24             	add    $0x24,%esp
59d7e0:	85 f6                	test   %esi,%esi
59d7e2:	7f 05                	jg     0x59d7e9
59d7e4:	33 c0                	xor    %eax,%eax
59d7e6:	5e                   	pop    %esi
59d7e7:	59                   	pop    %ecx
59d7e8:	c3                   	ret
59d7e9:	8b 44 24 0c          	mov    0xc(%esp),%eax
59d7ed:	85 c0                	test   %eax,%eax
59d7ef:	74 16                	je     0x59d807
59d7f1:	ff 74 24 04          	push   0x4(%esp)
59d7f5:	50                   	push   %eax
59d7f6:	e8 55 2b f0 ff       	call   0x4a0350
59d7fb:	ff 74 24 14          	push   0x14(%esp)
59d7ff:	e8 2c 29 f0 ff       	call   0x4a0130
59d804:	83 c4 0c             	add    $0xc,%esp
59d807:	8b c6                	mov    %esi,%eax
59d809:	5e                   	pop    %esi
59d80a:	59                   	pop    %ecx
59d80b:	c3                   	ret
59d80c:	cc                   	int3
59d80d:	cc                   	int3
59d80e:	cc                   	int3
59d80f:	cc                   	int3
59d810:	b8 44 00 00 00       	mov    $0x44,%eax
59d815:	e8 d6 3c 04 00       	call   0x5e14f0
59d81a:	53                   	push   %ebx
59d81b:	8d 44 24 30          	lea    0x30(%esp),%eax
59d81f:	c7 44 24 2c 00 00 00 	movl   $0x0,0x2c(%esp)
59d826:	00
59d827:	56                   	push   %esi
59d828:	50                   	push   %eax
59d829:	e8 92 3e f1 ff       	call   0x4b16c0
59d82e:	8b 5c 24 74          	mov    0x74(%esp),%ebx
59d832:	53                   	push   %ebx
59d833:	e8 98 3c ef ff       	call   0x4914d0
59d838:	53                   	push   %ebx
59d839:	8b f0                	mov    %eax,%esi
59d83b:	e8 b0 3c ef ff       	call   0x4914f0
59d840:	8b d8                	mov    %eax,%ebx
59d842:	83 c4 0c             	add    $0xc,%esp
59d845:	89 5c 24 14          	mov    %ebx,0x14(%esp)
59d849:	85 db                	test   %ebx,%ebx
59d84b:	79 08                	jns    0x59d855
59d84d:	5e                   	pop    %esi
59d84e:	33 c0                	xor    %eax,%eax
59d850:	5b                   	pop    %ebx
59d851:	83 c4 44             	add    $0x44,%esp
59d854:	c3                   	ret
59d855:	55                   	push   %ebp
59d856:	57                   	push   %edi
59d857:	68 8d 00 00 00       	push   $0x8d
59d85c:	68 a8 a8 6c 00       	push   $0x6ca8a8
59d861:	56                   	push   %esi
59d862:	e8 49 29 f0 ff       	call   0x4a01b0
59d867:	68 8e 00 00 00       	push   $0x8e
59d86c:	68 a8 a8 6c 00       	push   $0x6ca8a8
59d871:	53                   	push   %ebx
59d872:	89 44 24 44          	mov    %eax,0x44(%esp)
59d876:	e8 35 29 f0 ff       	call   0x4a01b0
59d87b:	68 8f 00 00 00       	push   $0x8f
59d880:	8d 4e 01             	lea    0x1(%esi),%ecx
59d883:	8b f8                	mov    %eax,%edi
59d885:	68 a8 a8 6c 00       	push   $0x6ca8a8
59d88a:	51                   	push   %ecx
59d88b:	89 7c 24 38          	mov    %edi,0x38(%esp)
59d88f:	e8 1c 29 f0 ff       	call   0x4a01b0
59d894:	8b d8                	mov    %eax,%ebx
59d896:	83 c4 24             	add    $0x24,%esp
59d899:	8b 44 24 64          	mov    0x64(%esp),%eax
59d89d:	48                   	dec    %eax
59d89e:	89 5c 24 10          	mov    %ebx,0x10(%esp)
59d8a2:	03 c6                	add    %esi,%eax
59d8a4:	99                   	cltd
59d8a5:	f7 fe                	idiv   %esi
59d8a7:	8b c8                	mov    %eax,%ecx
59d8a9:	8b 44 24 5c          	mov    0x5c(%esp),%eax
59d8ad:	0f af ce             	imul   %esi,%ecx
59d8b0:	89 4c 24 30          	mov    %ecx,0x30(%esp)
59d8b4:	85 c0                	test   %eax,%eax
59d8b6:	74 0b                	je     0x59d8c3
59d8b8:	48                   	dec    %eax
59d8b9:	03 c6                	add    %esi,%eax
59d8bb:	99                   	cltd
59d8bc:	f7 fe                	idiv   %esi
59d8be:	0f af c6             	imul   %esi,%eax
59d8c1:	eb 02                	jmp    0x59d8c5
59d8c3:	33 c0                	xor    %eax,%eax
59d8c5:	68 96 00 00 00       	push   $0x96
59d8ca:	89 44 24 28          	mov    %eax,0x28(%esp)
59d8ce:	03 c1                	add    %ecx,%eax
59d8d0:	68 a8 a8 6c 00       	push   $0x6ca8a8
59d8d5:	50                   	push   %eax
59d8d6:	89 44 24 34          	mov    %eax,0x34(%esp)
59d8da:	e8 d1 28 f0 ff       	call   0x4a01b0
59d8df:	83 c4 0c             	add    $0xc,%esp
59d8e2:	89 44 24 18          	mov    %eax,0x18(%esp)
59d8e6:	e8 25 5a f1 ff       	call   0x4b3310
59d8eb:	8b e8                	mov    %eax,%ebp
59d8ed:	89 6c 24 34          	mov    %ebp,0x34(%esp)
59d8f1:	e8 1a 5a f1 ff       	call   0x4b3310
59d8f6:	8b 54 24 2c          	mov    0x2c(%esp),%edx
59d8fa:	89 44 24 20          	mov    %eax,0x20(%esp)
59d8fe:	85 d2                	test   %edx,%edx
59d900:	0f 84 1c 03 00 00    	je     0x59dc22
59d906:	85 ff                	test   %edi,%edi
59d908:	0f 84 14 03 00 00    	je     0x59dc22
59d90e:	85 db                	test   %ebx,%ebx
59d910:	0f 84 0c 03 00 00    	je     0x59dc22
59d916:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
59d91b:	0f 84 01 03 00 00    	je     0x59dc22
59d921:	85 ed                	test   %ebp,%ebp
59d923:	0f 84 f9 02 00 00    	je     0x59dc22
59d929:	85 c0                	test   %eax,%eax
59d92b:	0f 84 f1 02 00 00    	je     0x59dc22
59d931:	85 f6                	test   %esi,%esi
59d933:	7e 25                	jle    0x59d95a
59d935:	0f b6 44 24 68       	movzbl 0x68(%esp),%eax
59d93a:	8b ce                	mov    %esi,%ecx
59d93c:	8b d9                	mov    %ecx,%ebx
59d93e:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
59d944:	c1 e9 02             	shr    $0x2,%ecx
59d947:	8b fa                	mov    %edx,%edi
59d949:	f3 ab                	rep stos %eax,%es:(%edi)
59d94b:	8b cb                	mov    %ebx,%ecx
59d94d:	8b 5c 24 10          	mov    0x10(%esp),%ebx
59d951:	83 e1 03             	and    $0x3,%ecx
59d954:	f3 aa                	rep stos %al,%es:(%edi)
59d956:	8b 7c 24 14          	mov    0x14(%esp),%edi
59d95a:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
59d95f:	8b 4c 24 18          	mov    0x18(%esp),%ecx
59d963:	7e 29                	jle    0x59d98e
59d965:	8b 6c 24 60          	mov    0x60(%esp),%ebp
59d969:	33 ff                	xor    %edi,%edi
59d96b:	8b 5c 24 30          	mov    0x30(%esp),%ebx
59d96f:	90                   	nop
59d970:	8b c7                	mov    %edi,%eax
59d972:	47                   	inc    %edi
59d973:	99                   	cltd
59d974:	f7 7c 24 64          	idivl  0x64(%esp)
59d978:	8a 04 2a             	mov    (%edx,%ebp,1),%al
59d97b:	88 01                	mov    %al,(%ecx)
59d97d:	41                   	inc    %ecx
59d97e:	3b fb                	cmp    %ebx,%edi
59d980:	7c ee                	jl     0x59d970
59d982:	8b 6c 24 34          	mov    0x34(%esp),%ebp
59d986:	8b 5c 24 10          	mov    0x10(%esp),%ebx
59d98a:	8b 7c 24 14          	mov    0x14(%esp),%edi
59d98e:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
59d993:	7e 2c                	jle    0x59d9c1
59d995:	8b 6c 24 58          	mov    0x58(%esp),%ebp
59d999:	33 db                	xor    %ebx,%ebx
59d99b:	8b 7c 24 24          	mov    0x24(%esp),%edi
59d99f:	90                   	nop
59d9a0:	8b c3                	mov    %ebx,%eax
59d9a2:	8d 49 01             	lea    0x1(%ecx),%ecx
59d9a5:	99                   	cltd
59d9a6:	43                   	inc    %ebx
59d9a7:	f7 7c 24 5c          	idivl  0x5c(%esp)
59d9ab:	8a 04 2a             	mov    (%edx,%ebp,1),%al
59d9ae:	88 41 ff             	mov    %al,-0x1(%ecx)
59d9b1:	3b df                	cmp    %edi,%ebx
59d9b3:	7c eb                	jl     0x59d9a0
59d9b5:	8b 6c 24 34          	mov    0x34(%esp),%ebp
59d9b9:	8b 5c 24 10          	mov    0x10(%esp),%ebx
59d9bd:	8b 7c 24 14          	mov    0x14(%esp),%edi
59d9c1:	6a 00                	push   $0x0
59d9c3:	ff 74 24 7c          	push   0x7c(%esp)
59d9c7:	8d 44 24 44          	lea    0x44(%esp),%eax
59d9cb:	50                   	push   %eax
59d9cc:	e8 cf 38 f1 ff       	call   0x4b12a0
59d9d1:	83 c4 0c             	add    $0xc,%esp
59d9d4:	85 c0                	test   %eax,%eax
59d9d6:	0f 84 42 02 00 00    	je     0x59dc1e
59d9dc:	0f 1f 40 00          	nopl   0x0(%eax)
59d9e0:	56                   	push   %esi
59d9e1:	ff 74 24 30          	push   0x30(%esp)
59d9e5:	8d 44 24 44          	lea    0x44(%esp),%eax
59d9e9:	50                   	push   %eax
59d9ea:	e8 61 3a f1 ff       	call   0x4b1450
59d9ef:	83 c4 0c             	add    $0xc,%esp
59d9f2:	85 c0                	test   %eax,%eax
59d9f4:	0f 84 24 02 00 00    	je     0x59dc1e
59d9fa:	ff 74 24 28          	push   0x28(%esp)
59d9fe:	8d 44 24 40          	lea    0x40(%esp),%eax
59da02:	ff 74 24 1c          	push   0x1c(%esp)
59da06:	50                   	push   %eax
59da07:	e8 44 3a f1 ff       	call   0x4b1450
59da0c:	83 c4 0c             	add    $0xc,%esp
59da0f:	85 c0                	test   %eax,%eax
59da11:	0f 84 07 02 00 00    	je     0x59dc1e
59da17:	6a 00                	push   $0x0
59da19:	8d 44 24 40          	lea    0x40(%esp),%eax
59da1d:	57                   	push   %edi
59da1e:	50                   	push   %eax
59da1f:	e8 fc 37 f1 ff       	call   0x4b1220
59da24:	83 c4 0c             	add    $0xc,%esp
59da27:	85 c0                	test   %eax,%eax
59da29:	0f 84 ef 01 00 00    	je     0x59dc1e
59da2f:	bf 01 00 00 00       	mov    $0x1,%edi
59da34:	39 7c 24 6c          	cmp    %edi,0x6c(%esp)
59da38:	7e 60                	jle    0x59da9a
59da3a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
59da40:	6a 00                	push   $0x0
59da42:	ff 74 24 7c          	push   0x7c(%esp)
59da46:	8d 44 24 44          	lea    0x44(%esp),%eax
59da4a:	50                   	push   %eax
59da4b:	e8 50 38 f1 ff       	call   0x4b12a0
59da50:	83 c4 0c             	add    $0xc,%esp
59da53:	85 c0                	test   %eax,%eax
59da55:	0f 84 c3 01 00 00    	je     0x59dc1e
59da5b:	ff 74 24 1c          	push   0x1c(%esp)
59da5f:	8d 44 24 40          	lea    0x40(%esp),%eax
59da63:	ff 74 24 18          	push   0x18(%esp)
59da67:	50                   	push   %eax
59da68:	e8 e3 39 f1 ff       	call   0x4b1450
59da6d:	83 c4 0c             	add    $0xc,%esp
59da70:	85 c0                	test   %eax,%eax
59da72:	0f 84 a6 01 00 00    	je     0x59dc1e
59da78:	6a 00                	push   $0x0
59da7a:	ff 74 24 18          	push   0x18(%esp)
59da7e:	8d 44 24 44          	lea    0x44(%esp),%eax
59da82:	50                   	push   %eax
59da83:	e8 98 37 f1 ff       	call   0x4b1220
59da88:	83 c4 0c             	add    $0xc,%esp
59da8b:	85 c0                	test   %eax,%eax
59da8d:	0f 84 8b 01 00 00    	je     0x59dc1e
59da93:	47                   	inc    %edi
59da94:	3b 7c 24 6c          	cmp    0x6c(%esp),%edi
59da98:	7c a6                	jl     0x59da40
59da9a:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
59da9e:	8b c1                	mov    %ecx,%eax
59daa0:	39 4c 24 70          	cmp    %ecx,0x70(%esp)
59daa4:	8b 7c 24 14          	mov    0x14(%esp),%edi
59daa8:	0f 4c 44 24 70       	cmovl  0x70(%esp),%eax
59daad:	50                   	push   %eax
59daae:	57                   	push   %edi
59daaf:	ff 74 24 7c          	push   0x7c(%esp)
59dab3:	e8 48 54 04 00       	call   0x5e2f00
59dab8:	8b 44 24 28          	mov    0x28(%esp),%eax
59dabc:	83 c4 0c             	add    $0xc,%esp
59dabf:	8b 4c 24 70          	mov    0x70(%esp),%ecx
59dac3:	3b c1                	cmp    %ecx,%eax
59dac5:	0f 8d b9 01 00 00    	jge    0x59dc84
59dacb:	01 44 24 74          	add    %eax,0x74(%esp)
59dacf:	2b c8                	sub    %eax,%ecx
59dad1:	89 4c 24 70          	mov    %ecx,0x70(%esp)
59dad5:	33 c9                	xor    %ecx,%ecx
59dad7:	85 f6                	test   %esi,%esi
59dad9:	7e 17                	jle    0x59daf2
59dadb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
59dae0:	8b c1                	mov    %ecx,%eax
59dae2:	99                   	cltd
59dae3:	f7 7c 24 1c          	idivl  0x1c(%esp)
59dae7:	8a 04 3a             	mov    (%edx,%edi,1),%al
59daea:	88 04 19             	mov    %al,(%ecx,%ebx,1)
59daed:	41                   	inc    %ecx
59daee:	3b ce                	cmp    %esi,%ecx
59daf0:	7c ee                	jl     0x59dae0
59daf2:	ff 74 24 20          	push   0x20(%esp)
59daf6:	56                   	push   %esi
59daf7:	53                   	push   %ebx
59daf8:	e8 13 51 f1 ff       	call   0x4b2c10
59dafd:	83 c4 0c             	add    $0xc,%esp
59db00:	85 c0                	test   %eax,%eax
59db02:	0f 84 16 01 00 00    	je     0x59dc1e
59db08:	6a 01                	push   $0x1
59db0a:	ff 74 24 24          	push   0x24(%esp)
59db0e:	e8 cd 5c f1 ff       	call   0x4b37e0
59db13:	83 c4 08             	add    $0x8,%esp
59db16:	85 c0                	test   %eax,%eax
59db18:	0f 84 00 01 00 00    	je     0x59dc1e
59db1e:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
59db23:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
59db2a:	00
59db2b:	0f 8e d2 00 00 00    	jle    0x59dc03
59db31:	8b 7c 24 18          	mov    0x18(%esp),%edi
59db35:	55                   	push   %ebp
59db36:	56                   	push   %esi
59db37:	57                   	push   %edi
59db38:	e8 d3 50 f1 ff       	call   0x4b2c10
59db3d:	83 c4 0c             	add    $0xc,%esp
59db40:	85 c0                	test   %eax,%eax
59db42:	0f 84 d6 00 00 00    	je     0x59dc1e
59db48:	ff 74 24 20          	push   0x20(%esp)
59db4c:	55                   	push   %ebp
59db4d:	55                   	push   %ebp
59db4e:	e8 7d a5 f3 ff       	call   0x4d80d0
59db53:	83 c4 0c             	add    $0xc,%esp
59db56:	85 c0                	test   %eax,%eax
59db58:	0f 84 c0 00 00 00    	je     0x59dc1e
59db5e:	53                   	push   %ebx
59db5f:	55                   	push   %ebp
59db60:	e8 ab 51 f1 ff       	call   0x4b2d10
59db65:	83 c4 08             	add    $0x8,%esp
59db68:	85 c0                	test   %eax,%eax
59db6a:	0f 84 ae 00 00 00    	je     0x59dc1e
59db70:	55                   	push   %ebp
59db71:	e8 fa 57 f1 ff       	call   0x4b3370
59db76:	83 c0 07             	add    $0x7,%eax
59db79:	83 c4 04             	add    $0x4,%esp
59db7c:	99                   	cltd
59db7d:	83 e2 07             	and    $0x7,%edx
59db80:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
59db83:	c1 fb 03             	sar    $0x3,%ebx
59db86:	3b de                	cmp    %esi,%ebx
59db88:	7e 26                	jle    0x59dbb0
59db8a:	8b 5c 24 10          	mov    0x10(%esp),%ebx
59db8e:	53                   	push   %ebx
59db8f:	55                   	push   %ebp
59db90:	e8 7b 51 f1 ff       	call   0x4b2d10
59db95:	83 c4 08             	add    $0x8,%esp
59db98:	85 c0                	test   %eax,%eax
59db9a:	0f 84 82 00 00 00    	je     0x59dc22
59dba0:	56                   	push   %esi
59dba1:	8d 43 01             	lea    0x1(%ebx),%eax