50191c:	73 0d                	jae    0x50192b
50191e:	8b 45 0c             	mov    0xc(%ebp),%eax
501921:	88 1c 07             	mov    %bl,(%edi,%eax,1)
501924:	b8 01 00 00 00       	mov    $0x1,%eax
501929:	eb 13                	jmp    0x50193e
50192b:	8b c3                	mov    %ebx,%eax
50192d:	99                   	cltd
50192e:	52                   	push   %edx
50192f:	50                   	push   %eax
501930:	8b 45 0c             	mov    0xc(%ebp),%eax
501933:	03 c7                	add    %edi,%eax
501935:	50                   	push   %eax
501936:	e8 c5 5a 03 00       	call   0x537400
50193b:	83 c4 0c             	add    $0xc,%esp
50193e:	0f b6 c0             	movzbl %al,%eax
501941:	8b 4d 08             	mov    0x8(%ebp),%ecx
501944:	03 f8                	add    %eax,%edi
501946:	89 7d ec             	mov    %edi,-0x14(%ebp)
501949:	03 7d 0c             	add    0xc(%ebp),%edi
50194c:	0f b7 41 0e          	movzwl 0xe(%ecx),%eax
501950:	89 45 e4             	mov    %eax,-0x1c(%ebp)
501953:	3b d8                	cmp    %eax,%ebx
501955:	7f 38                	jg     0x50198f
501957:	8b 4d ec             	mov    -0x14(%ebp),%ecx
50195a:	b8 04 00 00 00       	mov    $0x4,%eax
50195f:	03 cb                	add    %ebx,%ecx
501961:	3b c8                	cmp    %eax,%ecx
501963:	56                   	push   %esi
501964:	ff 75 fc             	push   -0x4(%ebp)
501967:	0f 4c c8             	cmovl  %eax,%ecx
50196a:	8b 45 14             	mov    0x14(%ebp),%eax
50196d:	57                   	push   %edi
50196e:	89 08                	mov    %ecx,(%eax)
501970:	e8 8b 15 0e 00       	call   0x5e2f00
501975:	2b de                	sub    %esi,%ebx
501977:	8d 04 37             	lea    (%edi,%esi,1),%eax
50197a:	53                   	push   %ebx
50197b:	6a 00                	push   $0x0
50197d:	50                   	push   %eax
50197e:	e8 7d 20 0e 00       	call   0x5e3a00
501983:	83 c4 18             	add    $0x18,%esp
501986:	33 c0                	xor    %eax,%eax
501988:	5f                   	pop    %edi
501989:	5e                   	pop    %esi
50198a:	5b                   	pop    %ebx
50198b:	8b e5                	mov    %ebp,%esp
50198d:	5d                   	pop    %ebp
50198e:	c3                   	ret
50198f:	0f b7 71 10          	movzwl 0x10(%ecx),%esi
501993:	33 d2                	xor    %edx,%edx
501995:	8b 49 34             	mov    0x34(%ecx),%ecx
501998:	8b c3                	mov    %ebx,%eax
50199a:	2b c6                	sub    %esi,%eax
50199c:	8b 49 24             	mov    0x24(%ecx),%ecx
50199f:	83 e9 04             	sub    $0x4,%ecx
5019a2:	f7 f1                	div    %ecx
5019a4:	8d 04 32             	lea    (%edx,%esi,1),%eax
5019a7:	8b 55 ec             	mov    -0x14(%ebp),%edx
5019aa:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
5019ad:	0f 4e f0             	cmovle %eax,%esi
5019b0:	8b 45 14             	mov    0x14(%ebp),%eax
5019b3:	03 d6                	add    %esi,%edx
5019b5:	89 75 f0             	mov    %esi,-0x10(%ebp)
5019b8:	8d 4a 04             	lea    0x4(%edx),%ecx
5019bb:	89 08                	mov    %ecx,(%eax)
5019bd:	8b 45 0c             	mov    0xc(%ebp),%eax
5019c0:	03 c2                	add    %edx,%eax
5019c2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5019c5:	33 c0                	xor    %eax,%eax
5019c7:	89 45 ec             	mov    %eax,-0x14(%ebp)
5019ca:	33 db                	xor    %ebx,%ebx
5019cc:	8b 45 08             	mov    0x8(%ebp),%eax
5019cf:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5019d2:	8b 40 34             	mov    0x34(%eax),%eax
5019d5:	89 45 0c             	mov    %eax,0xc(%ebp)
5019d8:	8b c6                	mov    %esi,%eax
5019da:	8b 55 f4             	mov    -0xc(%ebp),%edx
5019dd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5019e0:	3b c8                	cmp    %eax,%ecx
5019e2:	8b f1                	mov    %ecx,%esi
5019e4:	0f 4f f0             	cmovg  %eax,%esi
5019e7:	3b d6                	cmp    %esi,%edx
5019e9:	7c 0c                	jl     0x5019f7
5019eb:	56                   	push   %esi
5019ec:	ff 75 fc             	push   -0x4(%ebp)
5019ef:	57                   	push   %edi
5019f0:	e8 0b 15 0e 00       	call   0x5e2f00
5019f5:	eb 1b                	jmp    0x501a12
5019f7:	85 d2                	test   %edx,%edx
5019f9:	7e 0e                	jle    0x501a09
5019fb:	52                   	push   %edx
5019fc:	ff 75 fc             	push   -0x4(%ebp)
5019ff:	8b f2                	mov    %edx,%esi
501a01:	57                   	push   %edi
501a02:	e8 f9 14 0e 00       	call   0x5e2f00
501a07:	eb 09                	jmp    0x501a12
501a09:	56                   	push   %esi
501a0a:	6a 00                	push   $0x0
501a0c:	57                   	push   %edi
501a0d:	e8 ee 1f 0e 00       	call   0x5e3a00
501a12:	8b 4d f8             	mov    -0x8(%ebp),%ecx
501a15:	83 c4 0c             	add    $0xc,%esp
501a18:	2b ce                	sub    %esi,%ecx
501a1a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
501a1d:	85 c9                	test   %ecx,%ecx
501a1f:	0f 8e 8b 01 00 00    	jle    0x501bb0
501a25:	8b 55 f4             	mov    -0xc(%ebp),%edx
501a28:	03 fe                	add    %esi,%edi
501a2a:	8b 45 f0             	mov    -0x10(%ebp),%eax
501a2d:	2b d6                	sub    %esi,%edx
501a2f:	01 75 fc             	add    %esi,-0x4(%ebp)
501a32:	2b c6                	sub    %esi,%eax
501a34:	89 55 f4             	mov    %edx,-0xc(%ebp)
501a37:	89 45 f0             	mov    %eax,-0x10(%ebp)
501a3a:	75 a4                	jne    0x5019e0
501a3c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
501a3f:	8b fb                	mov    %ebx,%edi
501a41:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
501a48:	89 7d f0             	mov    %edi,-0x10(%ebp)
501a4b:	80 79 11 00          	cmpb   $0x0,0x11(%ecx)
501a4f:	74 56                	je     0x501aa7
501a51:	8b 79 20             	mov    0x20(%ecx),%edi
501a54:	43                   	inc    %ebx
501a55:	83 fb 02             	cmp    $0x2,%ebx
501a58:	73 04                	jae    0x501a5e
501a5a:	33 c9                	xor    %ecx,%ecx
501a5c:	eb 2e                	jmp    0x501a8c
501a5e:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
501a63:	8d 73 fe             	lea    -0x2(%ebx),%esi
501a66:	f7 61 24             	mull   0x24(%ecx)
501a69:	8b c6                	mov    %esi,%eax
501a6b:	8b ca                	mov    %edx,%ecx
501a6d:	33 d2                	xor    %edx,%edx
501a6f:	c1 e9 02             	shr    $0x2,%ecx
501a72:	41                   	inc    %ecx
501a73:	f7 f1                	div    %ecx
501a75:	a1 18 19 72 00       	mov    0x721918,%eax
501a7a:	2b f2                	sub    %edx,%esi
501a7c:	33 d2                	xor    %edx,%edx
501a7e:	f7 f7                	div    %edi
501a80:	83 c6 02             	add    $0x2,%esi
501a83:	40                   	inc    %eax
501a84:	3b f0                	cmp    %eax,%esi
501a86:	8d 4e 01             	lea    0x1(%esi),%ecx
501a89:	0f 45 ce             	cmovne %esi,%ecx
501a8c:	3b cb                	cmp    %ebx,%ecx
501a8e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
501a91:	74 c1                	je     0x501a54
501a93:	a1 18 19 72 00       	mov    0x721918,%eax
501a98:	33 d2                	xor    %edx,%edx
501a9a:	f7 f7                	div    %edi
501a9c:	40                   	inc    %eax
501a9d:	3b d8                	cmp    %eax,%ebx
501a9f:	74 b3                	je     0x501a54
501aa1:	8b 7d f0             	mov    -0x10(%ebp),%edi
501aa4:	89 5d e8             	mov    %ebx,-0x18(%ebp)
501aa7:	6a 00                	push   $0x0
501aa9:	53                   	push   %ebx
501aaa:	8d 45 e8             	lea    -0x18(%ebp),%eax
501aad:	50                   	push   %eax
501aae:	8d 45 08             	lea    0x8(%ebp),%eax
501ab1:	50                   	push   %eax
501ab2:	51                   	push   %ecx
501ab3:	e8 68 08 ff ff       	call   0x4f2320
501ab8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
501abb:	83 c4 14             	add    $0x14,%esp
501abe:	8b 5d e8             	mov    -0x18(%ebp),%ebx
501ac1:	8b f0                	mov    %eax,%esi
501ac3:	89 75 f0             	mov    %esi,-0x10(%ebp)
501ac6:	80 79 11 00          	cmpb   $0x0,0x11(%ecx)
501aca:	74 39                	je     0x501b05
501acc:	85 f6                	test   %esi,%esi
501ace:	0f 85 c3 00 00 00    	jne    0x501b97
501ad4:	8d 45 f0             	lea    -0x10(%ebp),%eax
501ad7:	85 ff                	test   %edi,%edi
501ad9:	50                   	push   %eax
501ada:	0f 95 c0             	setne  %al
501add:	04 03                	add    $0x3,%al
501adf:	57                   	push   %edi
501ae0:	0f b6 c0             	movzbl %al,%eax
501ae3:	50                   	push   %eax
501ae4:	53                   	push   %ebx
501ae5:	51                   	push   %ecx
501ae6:	e8 a5 ef 00 00       	call   0x510a90
501aeb:	8b 75 f0             	mov    -0x10(%ebp),%esi
501aee:	83 c4 14             	add    $0x14,%esp
501af1:	85 f6                	test   %esi,%esi
501af3:	74 18                	je     0x501b0d
501af5:	8b 45 08             	mov    0x8(%ebp),%eax
501af8:	85 c0                	test   %eax,%eax
501afa:	74 09                	je     0x501b05
501afc:	50                   	push   %eax
501afd:	e8 be 05 01 00       	call   0x5120c0
501b02:	83 c4 04             	add    $0x4,%esp
501b05:	85 f6                	test   %esi,%esi
501b07:	0f 85 8a 00 00 00    	jne    0x501b97
501b0d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
501b10:	8b c3                	mov    %ebx,%eax
501b12:	0f c8                	bswap  %eax
501b14:	89 01                	mov    %eax,(%ecx)
501b16:	8b 45 ec             	mov    -0x14(%ebp),%eax
501b19:	85 c0                	test   %eax,%eax
501b1b:	74 51                	je     0x501b6e
501b1d:	8b 50 48             	mov    0x48(%eax),%edx
501b20:	f6 42 1c 20          	testb  $0x20,0x1c(%edx)
501b24:	74 3f                	je     0x501b65
501b26:	8b 42 14             	mov    0x14(%edx),%eax
501b29:	ff 48 78             	decl   0x78(%eax)
501b2c:	8b 88 88 00 00 00    	mov    0x88(%eax),%ecx
501b32:	89 4a 10             	mov    %ecx,0x10(%edx)
501b35:	8b 70 3c             	mov    0x3c(%eax),%esi
501b38:	89 90 88 00 00 00    	mov    %edx,0x88(%eax)
501b3e:	ff 72 04             	push   0x4(%edx)
501b41:	8b 4a 18             	mov    0x18(%edx),%ecx
501b44:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
501b4a:	49                   	dec    %ecx
501b4b:	8b 3e                	mov    (%esi),%edi
501b4d:	99                   	cltd
501b4e:	52                   	push   %edx
501b4f:	50                   	push   %eax
501b50:	6a 00                	push   $0x0
501b52:	51                   	push   %ecx
501b53:	e8 a8 ff 0d 00       	call   0x5e1b00
501b58:	52                   	push   %edx
501b59:	50                   	push   %eax
501b5a:	8b 47 48             	mov    0x48(%edi),%eax
501b5d:	56                   	push   %esi
501b5e:	ff d0                	call   *%eax
501b60:	83 c4 10             	add    $0x10,%esp
501b63:	eb 09                	jmp    0x501b6e
501b65:	52                   	push   %edx
501b66:	e8 85 2a 03 00       	call   0x5345f0
501b6b:	83 c4 04             	add    $0x4,%esp
501b6e:	8b 45 08             	mov    0x8(%ebp),%eax
501b71:	89 45 ec             	mov    %eax,-0x14(%ebp)
501b74:	8b 48 38             	mov    0x38(%eax),%ecx
501b77:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
501b7a:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
501b80:	8b 78 38             	mov    0x38(%eax),%edi
501b83:	8b 45 0c             	mov    0xc(%ebp),%eax
501b86:	83 c7 04             	add    $0x4,%edi
501b89:	8b 40 24             	mov    0x24(%eax),%eax
501b8c:	83 e8 04             	sub    $0x4,%eax
501b8f:	89 45 f0             	mov    %eax,-0x10(%ebp)
501b92:	e9 43 fe ff ff       	jmp    0x5019da
501b97:	8b 45 ec             	mov    -0x14(%ebp),%eax
501b9a:	85 c0                	test   %eax,%eax
501b9c:	74 09                	je     0x501ba7
501b9e:	50                   	push   %eax
501b9f:	e8 1c 05 01 00       	call   0x5120c0
501ba4:	83 c4 04             	add    $0x4,%esp
501ba7:	5f                   	pop    %edi
501ba8:	8b c6                	mov    %esi,%eax
501baa:	5e                   	pop    %esi
501bab:	5b                   	pop    %ebx
501bac:	8b e5                	mov    %ebp,%esp
501bae:	5d                   	pop    %ebp
501baf:	c3                   	ret
501bb0:	8b 45 ec             	mov    -0x14(%ebp),%eax
501bb3:	85 c0                	test   %eax,%eax
501bb5:	74 09                	je     0x501bc0
501bb7:	50                   	push   %eax
501bb8:	e8 03 05 01 00       	call   0x5120c0
501bbd:	83 c4 04             	add    $0x4,%esp
501bc0:	5f                   	pop    %edi
501bc1:	5e                   	pop    %esi
501bc2:	33 c0                	xor    %eax,%eax
501bc4:	5b                   	pop    %ebx
501bc5:	8b e5                	mov    %ebp,%esp
501bc7:	5d                   	pop    %ebp
501bc8:	c3                   	ret
501bc9:	cc                   	int3
501bca:	cc                   	int3
501bcb:	cc                   	int3
501bcc:	cc                   	int3
501bcd:	cc                   	int3
501bce:	cc                   	int3
501bcf:	cc                   	int3
501bd0:	55                   	push   %ebp
501bd1:	8b ec                	mov    %esp,%ebp
501bd3:	51                   	push   %ecx
501bd4:	8b 4d 08             	mov    0x8(%ebp),%ecx
501bd7:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
501bdc:	53                   	push   %ebx
501bdd:	8b 1d 18 19 72 00    	mov    0x721918,%ebx
501be3:	56                   	push   %esi
501be4:	f7 61 24             	mull   0x24(%ecx)
501be7:	8b 45 0c             	mov    0xc(%ebp),%eax
501bea:	57                   	push   %edi
501beb:	8b fa                	mov    %edx,%edi
501bed:	c1 ef 02             	shr    $0x2,%edi
501bf0:	89 7d fc             	mov    %edi,-0x4(%ebp)
501bf3:	83 f8 02             	cmp    $0x2,%eax
501bf6:	73 04                	jae    0x501bfc
501bf8:	33 c9                	xor    %ecx,%ecx
501bfa:	eb 27                	jmp    0x501c23
501bfc:	8d 70 fe             	lea    -0x2(%eax),%esi
501bff:	33 d2                	xor    %edx,%edx
501c01:	8b c6                	mov    %esi,%eax
501c03:	8d 4f 01             	lea    0x1(%edi),%ecx
501c06:	f7 f1                	div    %ecx
501c08:	8b 4d 08             	mov    0x8(%ebp),%ecx
501c0b:	8b c3                	mov    %ebx,%eax
501c0d:	2b f2                	sub    %edx,%esi
501c0f:	33 d2                	xor    %edx,%edx
501c11:	83 c6 02             	add    $0x2,%esi
501c14:	f7 71 20             	divl   0x20(%ecx)
501c17:	8d 4e 01             	lea    0x1(%esi),%ecx
501c1a:	40                   	inc    %eax
501c1b:	3b f0                	cmp    %eax,%esi
501c1d:	8b 45 0c             	mov    0xc(%ebp),%eax
501c20:	0f 45 ce             	cmovne %esi,%ecx
501c23:	2b c8                	sub    %eax,%ecx
501c25:	8b 75 08             	mov    0x8(%ebp),%esi
501c28:	33 d2                	xor    %edx,%edx
501c2a:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
501c2d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
501c30:	03 45 10             	add    0x10(%ebp),%eax
501c33:	f7 f7                	div    %edi
501c35:	33 d2                	xor    %edx,%edx
501c37:	2b c8                	sub    %eax,%ecx
501c39:	8b c3                	mov    %ebx,%eax
501c3b:	f7 76 20             	divl   0x20(%esi)
501c3e:	2b 4d 10             	sub    0x10(%ebp),%ecx
501c41:	40                   	inc    %eax
501c42:	39 45 0c             	cmp    %eax,0xc(%ebp)
501c45:	76 05                	jbe    0x501c4c
501c47:	3b c8                	cmp    %eax,%ecx
501c49:	73 01                	jae    0x501c4c
501c4b:	49                   	dec    %ecx
501c4c:	8b 76 20             	mov    0x20(%esi),%esi
501c4f:	90                   	nop
501c50:	33 d2                	xor    %edx,%edx
501c52:	83 f9 02             	cmp    $0x2,%ecx
501c55:	72 2d                	jb     0x501c84
501c57:	8b 75 fc             	mov    -0x4(%ebp),%esi
501c5a:	8d 79 fe             	lea    -0x2(%ecx),%edi
501c5d:	8b c7                	mov    %edi,%eax
501c5f:	8d 76 01             	lea    0x1(%esi),%esi
501c62:	f7 f6                	div    %esi
501c64:	8b c3                	mov    %ebx,%eax
501c66:	8b 5d 08             	mov    0x8(%ebp),%ebx
501c69:	2b fa                	sub    %edx,%edi
501c6b:	33 d2                	xor    %edx,%edx
501c6d:	83 c7 02             	add    $0x2,%edi
501c70:	8b 73 20             	mov    0x20(%ebx),%esi
501c73:	f7 f6                	div    %esi
501c75:	8b 1d 18 19 72 00    	mov    0x721918,%ebx
501c7b:	8d 57 01             	lea    0x1(%edi),%edx
501c7e:	40                   	inc    %eax