41489b:	56                   	push   %esi
41489c:	8b 75 1c             	mov    0x1c(%ebp),%esi
41489f:	57                   	push   %edi
4148a0:	8d 7e 01             	lea    0x1(%esi),%edi
4148a3:	8d 47 02             	lea    0x2(%edi),%eax
4148a6:	3b 45 18             	cmp    0x18(%ebp),%eax
4148a9:	72 03                	jb     0x4148ae
4148ab:	8b 45 18             	mov    0x18(%ebp),%eax
4148ae:	50                   	push   %eax
4148af:	ff 75 14             	push   0x14(%ebp)
4148b2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4148b5:	50                   	push   %eax
4148b6:	8b 45 08             	mov    0x8(%ebp),%eax
4148b9:	57                   	push   %edi
4148ba:	ff 70 04             	push   0x4(%eax)
4148bd:	ff 30                	push   (%eax)
4148bf:	e8 2d a8 00 00       	call   0x41f0f1
4148c4:	83 c9 ff             	or     $0xffffffff,%ecx
4148c7:	83 c4 18             	add    $0x18,%esp
4148ca:	8b d0                	mov    %eax,%edx
4148cc:	39 4d 10             	cmp    %ecx,0x10(%ebp)
4148cf:	74 17                	je     0x4148e8
4148d1:	8b 4d 10             	mov    0x10(%ebp),%ecx
4148d4:	33 c0                	xor    %eax,%eax
4148d6:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
4148da:	0f 94 c0             	sete   %al
4148dd:	2b c8                	sub    %eax,%ecx
4148df:	33 c0                	xor    %eax,%eax
4148e1:	85 f6                	test   %esi,%esi
4148e3:	0f 9f c0             	setg   %al
4148e6:	2b c8                	sub    %eax,%ecx
4148e8:	ff 75 2c             	push   0x2c(%ebp)
4148eb:	8d 45 f4             	lea    -0xc(%ebp),%eax
4148ee:	52                   	push   %edx
4148ef:	50                   	push   %eax
4148f0:	57                   	push   %edi
4148f1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4148f4:	51                   	push   %ecx
4148f5:	33 c9                	xor    %ecx,%ecx
4148f7:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
4148fb:	0f 94 c1             	sete   %cl
4148fe:	33 c0                	xor    %eax,%eax
414900:	85 f6                	test   %esi,%esi
414902:	0f 9f c0             	setg   %al
414905:	03 cf                	add    %edi,%ecx
414907:	03 c1                	add    %ecx,%eax
414909:	50                   	push   %eax
41490a:	e8 06 a7 00 00       	call   0x41f015
41490f:	83 c4 18             	add    $0x18,%esp
414912:	85 c0                	test   %eax,%eax
414914:	74 05                	je     0x41491b
414916:	c6 07 00             	movb   $0x0,(%edi)
414919:	eb 1c                	jmp    0x414937
41491b:	ff 75 28             	push   0x28(%ebp)
41491e:	8d 45 f4             	lea    -0xc(%ebp),%eax
414921:	6a 00                	push   $0x0
414923:	50                   	push   %eax
414924:	ff 75 24             	push   0x24(%ebp)
414927:	ff 75 20             	push   0x20(%ebp)
41492a:	56                   	push   %esi
41492b:	ff 75 10             	push   0x10(%ebp)
41492e:	57                   	push   %edi
41492f:	e8 07 00 00 00       	call   0x41493b
414934:	83 c4 20             	add    $0x20,%esp
414937:	5f                   	pop    %edi
414938:	5e                   	pop    %esi
414939:	c9                   	leave
41493a:	c3                   	ret
41493b:	8b ff                	mov    %edi,%edi
41493d:	55                   	push   %ebp
41493e:	8b ec                	mov    %esp,%ebp
414940:	83 ec 10             	sub    $0x10,%esp
414943:	56                   	push   %esi
414944:	57                   	push   %edi
414945:	8b 7d 10             	mov    0x10(%ebp),%edi
414948:	85 ff                	test   %edi,%edi
41494a:	7e 04                	jle    0x414950
41494c:	8b c7                	mov    %edi,%eax
41494e:	eb 02                	jmp    0x414952
414950:	33 c0                	xor    %eax,%eax
414952:	83 c0 09             	add    $0x9,%eax
414955:	39 45 0c             	cmp    %eax,0xc(%ebp)
414958:	77 15                	ja     0x41496f
41495a:	e8 9c a4 ff ff       	call   0x40edfb
41495f:	6a 22                	push   $0x22
414961:	5e                   	pop    %esi
414962:	89 30                	mov    %esi,(%eax)
414964:	e8 18 87 ff ff       	call   0x40d081
414969:	8b c6                	mov    %esi,%eax
41496b:	5f                   	pop    %edi
41496c:	5e                   	pop    %esi
41496d:	c9                   	leave
41496e:	c3                   	ret
41496f:	53                   	push   %ebx
414970:	ff 75 24             	push   0x24(%ebp)
414973:	8d 4d f0             	lea    -0x10(%ebp),%ecx
414976:	e8 03 73 ff ff       	call   0x40bc7e
41497b:	8a 55 20             	mov    0x20(%ebp),%dl
41497e:	8b 5d 08             	mov    0x8(%ebp),%ebx
414981:	84 d2                	test   %dl,%dl
414983:	74 25                	je     0x4149aa
414985:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
414988:	33 c0                	xor    %eax,%eax
41498a:	85 ff                	test   %edi,%edi
41498c:	0f 9f c0             	setg   %al
41498f:	50                   	push   %eax
414990:	33 c0                	xor    %eax,%eax
414992:	83 39 2d             	cmpl   $0x2d,(%ecx)
414995:	0f 94 c0             	sete   %al
414998:	03 c3                	add    %ebx,%eax
41499a:	50                   	push   %eax
41499b:	ff 75 0c             	push   0xc(%ebp)
41499e:	53                   	push   %ebx
41499f:	e8 c7 03 00 00       	call   0x414d6b
4149a4:	8a 55 20             	mov    0x20(%ebp),%dl
4149a7:	83 c4 10             	add    $0x10,%esp
4149aa:	8b 45 1c             	mov    0x1c(%ebp),%eax
4149ad:	8b f3                	mov    %ebx,%esi
4149af:	83 38 2d             	cmpl   $0x2d,(%eax)
4149b2:	75 06                	jne    0x4149ba
4149b4:	c6 03 2d             	movb   $0x2d,(%ebx)
4149b7:	8d 73 01             	lea    0x1(%ebx),%esi
4149ba:	85 ff                	test   %edi,%edi
4149bc:	7e 15                	jle    0x4149d3
4149be:	8a 46 01             	mov    0x1(%esi),%al
4149c1:	88 06                	mov    %al,(%esi)
4149c3:	46                   	inc    %esi
4149c4:	8b 45 f4             	mov    -0xc(%ebp),%eax
4149c7:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
4149cd:	8b 00                	mov    (%eax),%eax
4149cf:	8a 00                	mov    (%eax),%al
4149d1:	88 06                	mov    %al,(%esi)
4149d3:	0f b6 c2             	movzbl %dl,%eax
4149d6:	83 f0 01             	xor    $0x1,%eax
4149d9:	03 c7                	add    %edi,%eax
4149db:	03 f0                	add    %eax,%esi
4149dd:	83 c8 ff             	or     $0xffffffff,%eax
4149e0:	39 45 0c             	cmp    %eax,0xc(%ebp)
4149e3:	74 07                	je     0x4149ec
4149e5:	8b c3                	mov    %ebx,%eax
4149e7:	2b c6                	sub    %esi,%eax
4149e9:	03 45 0c             	add    0xc(%ebp),%eax
4149ec:	68 78 7d 42 00       	push   $0x427d78
4149f1:	50                   	push   %eax
4149f2:	56                   	push   %esi
4149f3:	e8 56 d9 ff ff       	call   0x41234e
4149f8:	83 c4 0c             	add    $0xc,%esp
4149fb:	5b                   	pop    %ebx
4149fc:	85 c0                	test   %eax,%eax
4149fe:	75 76                	jne    0x414a76
414a00:	8d 4e 02             	lea    0x2(%esi),%ecx
414a03:	38 45 14             	cmp    %al,0x14(%ebp)
414a06:	74 03                	je     0x414a0b
414a08:	c6 06 45             	movb   $0x45,(%esi)
414a0b:	8b 55 1c             	mov    0x1c(%ebp),%edx
414a0e:	8b 42 08             	mov    0x8(%edx),%eax
414a11:	80 38 30             	cmpb   $0x30,(%eax)
414a14:	74 2f                	je     0x414a45
414a16:	8b 52 04             	mov    0x4(%edx),%edx
414a19:	83 ea 01             	sub    $0x1,%edx
414a1c:	79 06                	jns    0x414a24
414a1e:	f7 da                	neg    %edx
414a20:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
414a24:	6a 64                	push   $0x64
414a26:	5f                   	pop    %edi
414a27:	3b d7                	cmp    %edi,%edx
414a29:	7c 08                	jl     0x414a33
414a2b:	8b c2                	mov    %edx,%eax
414a2d:	99                   	cltd
414a2e:	f7 ff                	idiv   %edi
414a30:	00 46 02             	add    %al,0x2(%esi)
414a33:	6a 0a                	push   $0xa
414a35:	5f                   	pop    %edi
414a36:	3b d7                	cmp    %edi,%edx
414a38:	7c 08                	jl     0x414a42
414a3a:	8b c2                	mov    %edx,%eax
414a3c:	99                   	cltd
414a3d:	f7 ff                	idiv   %edi
414a3f:	00 46 03             	add    %al,0x3(%esi)
414a42:	00 56 04             	add    %dl,0x4(%esi)
414a45:	83 7d 18 02          	cmpl   $0x2,0x18(%ebp)
414a49:	75 14                	jne    0x414a5f
414a4b:	80 39 30             	cmpb   $0x30,(%ecx)
414a4e:	75 0f                	jne    0x414a5f
414a50:	6a 03                	push   $0x3
414a52:	8d 41 01             	lea    0x1(%ecx),%eax
414a55:	50                   	push   %eax
414a56:	51                   	push   %ecx
414a57:	e8 14 3f ff ff       	call   0x408970
414a5c:	83 c4 0c             	add    $0xc,%esp
414a5f:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
414a63:	74 0a                	je     0x414a6f
414a65:	8b 45 f0             	mov    -0x10(%ebp),%eax
414a68:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
414a6f:	33 c0                	xor    %eax,%eax
414a71:	e9 f5 fe ff ff       	jmp    0x41496b
414a76:	33 c0                	xor    %eax,%eax
414a78:	50                   	push   %eax
414a79:	50                   	push   %eax
414a7a:	50                   	push   %eax
414a7b:	50                   	push   %eax
414a7c:	50                   	push   %eax
414a7d:	e8 2c 86 ff ff       	call   0x40d0ae
414a82:	cc                   	int3
414a83:	8b ff                	mov    %edi,%edi
414a85:	55                   	push   %ebp
414a86:	8b ec                	mov    %esp,%ebp
414a88:	83 ec 0c             	sub    $0xc,%esp
414a8b:	33 c0                	xor    %eax,%eax
414a8d:	56                   	push   %esi
414a8e:	57                   	push   %edi
414a8f:	ff 75 18             	push   0x18(%ebp)
414a92:	8d 7d f4             	lea    -0xc(%ebp),%edi
414a95:	ff 75 14             	push   0x14(%ebp)
414a98:	ab                   	stos   %eax,%es:(%edi)
414a99:	ab                   	stos   %eax,%es:(%edi)
414a9a:	ab                   	stos   %eax,%es:(%edi)
414a9b:	8d 45 f4             	lea    -0xc(%ebp),%eax
414a9e:	8b 7d 1c             	mov    0x1c(%ebp),%edi
414aa1:	50                   	push   %eax
414aa2:	8b 45 08             	mov    0x8(%ebp),%eax
414aa5:	57                   	push   %edi
414aa6:	ff 70 04             	push   0x4(%eax)
414aa9:	ff 30                	push   (%eax)
414aab:	e8 41 a6 00 00       	call   0x41f0f1
414ab0:	83 c9 ff             	or     $0xffffffff,%ecx
414ab3:	83 c4 18             	add    $0x18,%esp
414ab6:	8b d0                	mov    %eax,%edx
414ab8:	39 4d 10             	cmp    %ecx,0x10(%ebp)
414abb:	74 0e                	je     0x414acb
414abd:	8b 4d 10             	mov    0x10(%ebp),%ecx
414ac0:	33 c0                	xor    %eax,%eax
414ac2:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
414ac6:	0f 94 c0             	sete   %al
414ac9:	2b c8                	sub    %eax,%ecx
414acb:	ff 75 24             	push   0x24(%ebp)
414ace:	8b 75 0c             	mov    0xc(%ebp),%esi
414ad1:	8d 45 f4             	lea    -0xc(%ebp),%eax
414ad4:	52                   	push   %edx
414ad5:	50                   	push   %eax
414ad6:	8b 45 f8             	mov    -0x8(%ebp),%eax
414ad9:	03 c7                	add    %edi,%eax
414adb:	50                   	push   %eax
414adc:	33 c0                	xor    %eax,%eax
414ade:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
414ae2:	51                   	push   %ecx
414ae3:	0f 94 c0             	sete   %al
414ae6:	03 c6                	add    %esi,%eax
414ae8:	50                   	push   %eax
414ae9:	e8 27 a5 00 00       	call   0x41f015
414aee:	83 c4 18             	add    $0x18,%esp
414af1:	85 c0                	test   %eax,%eax
414af3:	74 05                	je     0x414afa
414af5:	c6 06 00             	movb   $0x0,(%esi)
414af8:	eb 16                	jmp    0x414b10
414afa:	ff 75 20             	push   0x20(%ebp)
414afd:	8d 45 f4             	lea    -0xc(%ebp),%eax
414b00:	6a 00                	push   $0x0
414b02:	50                   	push   %eax
414b03:	57                   	push   %edi
414b04:	ff 75 10             	push   0x10(%ebp)
414b07:	56                   	push   %esi
414b08:	e8 07 00 00 00       	call   0x414b14
414b0d:	83 c4 18             	add    $0x18,%esp
414b10:	5f                   	pop    %edi
414b11:	5e                   	pop    %esi
414b12:	c9                   	leave
414b13:	c3                   	ret
414b14:	8b ff                	mov    %edi,%edi
414b16:	55                   	push   %ebp
414b17:	8b ec                	mov    %esp,%ebp
414b19:	83 ec 14             	sub    $0x14,%esp
414b1c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
414b1f:	53                   	push   %ebx
414b20:	56                   	push   %esi
414b21:	57                   	push   %edi
414b22:	ff 75 1c             	push   0x1c(%ebp)
414b25:	e8 54 71 ff ff       	call   0x40bc7e
414b2a:	8b 5d 14             	mov    0x14(%ebp),%ebx
414b2d:	33 d2                	xor    %edx,%edx
414b2f:	8b 75 10             	mov    0x10(%ebp),%esi
414b32:	8b 7d 08             	mov    0x8(%ebp),%edi
414b35:	8b 4b 04             	mov    0x4(%ebx),%ecx
414b38:	49                   	dec    %ecx
414b39:	38 55 18             	cmp    %dl,0x18(%ebp)
414b3c:	74 14                	je     0x414b52
414b3e:	3b ce                	cmp    %esi,%ecx
414b40:	75 10                	jne    0x414b52
414b42:	33 c0                	xor    %eax,%eax
414b44:	83 3b 2d             	cmpl   $0x2d,(%ebx)
414b47:	0f 94 c0             	sete   %al
414b4a:	03 c1                	add    %ecx,%eax
414b4c:	66 c7 04 38 30 00    	movw   $0x30,(%eax,%edi,1)
414b52:	83 3b 2d             	cmpl   $0x2d,(%ebx)
414b55:	8b cf                	mov    %edi,%ecx
414b57:	89 7d fc             	mov    %edi,-0x4(%ebp)
414b5a:	75 09                	jne    0x414b65
414b5c:	8d 4f 01             	lea    0x1(%edi),%ecx
414b5f:	c6 07 2d             	movb   $0x2d,(%edi)
414b62:	89 4d fc             	mov    %ecx,-0x4(%ebp)
414b65:	8b 43 04             	mov    0x4(%ebx),%eax
414b68:	85 c0                	test   %eax,%eax
414b6a:	7f 2e                	jg     0x414b9a
414b6c:	75 0a                	jne    0x414b78
414b6e:	8b 43 08             	mov    0x8(%ebx),%eax
414b71:	80 38 30             	cmpb   $0x30,(%eax)
414b74:	75 02                	jne    0x414b78
414b76:	b2 01                	mov    $0x1,%dl
414b78:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
414b7c:	74 04                	je     0x414b82
414b7e:	84 d2                	test   %dl,%dl
414b80:	75 12                	jne    0x414b94
414b82:	6a 01                	push   $0x1
414b84:	51                   	push   %ecx
414b85:	ff 75 0c             	push   0xc(%ebp)
414b88:	57                   	push   %edi
414b89:	e8 dd 01 00 00       	call   0x414d6b
414b8e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414b91:	83 c4 10             	add    $0x10,%esp
414b94:	33 c0                	xor    %eax,%eax
414b96:	c6 01 30             	movb   $0x30,(%ecx)
414b99:	40                   	inc    %eax
414b9a:	03 c1                	add    %ecx,%eax
414b9c:	89 45 fc             	mov    %eax,-0x4(%ebp)
414b9f:	85 f6                	test   %esi,%esi
414ba1:	7e 52                	jle    0x414bf5
414ba3:	6a 01                	push   $0x1
414ba5:	50                   	push   %eax
414ba6:	ff 75 0c             	push   0xc(%ebp)
414ba9:	57                   	push   %edi
414baa:	e8 bc 01 00 00       	call   0x414d6b
414baf:	8b 45 f0             	mov    -0x10(%ebp),%eax
414bb2:	83 c4 10             	add    $0x10,%esp
414bb5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414bb8:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
414bbe:	8b 00                	mov    (%eax),%eax
414bc0:	8a 00                	mov    (%eax),%al
414bc2:	88 01                	mov    %al,(%ecx)
414bc4:	41                   	inc    %ecx
414bc5:	8b 43 04             	mov    0x4(%ebx),%eax
414bc8:	85 c0                	test   %eax,%eax
414bca:	79 29                	jns    0x414bf5
414bcc:	f7 d8                	neg    %eax
414bce:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
414bd2:	75 04                	jne    0x414bd8
414bd4:	3b c6                	cmp    %esi,%eax
414bd6:	7d 02                	jge    0x414bda
414bd8:	8b f0                	mov    %eax,%esi
414bda:	56                   	push   %esi
414bdb:	51                   	push   %ecx