415bd2:	89 45 f4             	mov    %eax,-0xc(%ebp)
415bd5:	8d 4d ff             	lea    -0x1(%ebp),%ecx
415bd8:	8d 45 f8             	lea    -0x8(%ebp),%eax
415bdb:	89 75 f0             	mov    %esi,-0x10(%ebp)
415bde:	50                   	push   %eax
415bdf:	8d 45 f4             	lea    -0xc(%ebp),%eax
415be2:	50                   	push   %eax
415be3:	8d 45 f0             	lea    -0x10(%ebp),%eax
415be6:	50                   	push   %eax
415be7:	e8 07 ff ff ff       	call   0x415af3
415bec:	eb 1b                	jmp    0x415c09
415bee:	e8 f5 91 ff ff       	call   0x40ede8
415bf3:	83 20 00             	andl   $0x0,(%eax)
415bf6:	e8 00 92 ff ff       	call   0x40edfb
415bfb:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
415c01:	e8 7b 74 ff ff       	call   0x40d081
415c06:	83 c8 ff             	or     $0xffffffff,%eax
415c09:	5e                   	pop    %esi
415c0a:	c9                   	leave
415c0b:	c3                   	ret
415c0c:	8b ff                	mov    %edi,%edi
415c0e:	55                   	push   %ebp
415c0f:	8b ec                	mov    %esp,%ebp
415c11:	56                   	push   %esi
415c12:	57                   	push   %edi
415c13:	8b 7d 08             	mov    0x8(%ebp),%edi
415c16:	57                   	push   %edi
415c17:	e8 da 5b 00 00       	call   0x41b7f6
415c1c:	59                   	pop    %ecx
415c1d:	83 f8 ff             	cmp    $0xffffffff,%eax
415c20:	75 04                	jne    0x415c26
415c22:	33 f6                	xor    %esi,%esi
415c24:	eb 4e                	jmp    0x415c74
415c26:	a1 c0 4a 43 00       	mov    0x434ac0,%eax
415c2b:	83 ff 01             	cmp    $0x1,%edi
415c2e:	75 09                	jne    0x415c39
415c30:	f6 80 98 00 00 00 01 	testb  $0x1,0x98(%eax)
415c37:	75 0b                	jne    0x415c44
415c39:	83 ff 02             	cmp    $0x2,%edi
415c3c:	75 1c                	jne    0x415c5a
415c3e:	f6 40 60 01          	testb  $0x1,0x60(%eax)
415c42:	74 16                	je     0x415c5a
415c44:	6a 02                	push   $0x2
415c46:	e8 ab 5b 00 00       	call   0x41b7f6
415c4b:	6a 01                	push   $0x1
415c4d:	8b f0                	mov    %eax,%esi
415c4f:	e8 a2 5b 00 00       	call   0x41b7f6
415c54:	59                   	pop    %ecx
415c55:	59                   	pop    %ecx
415c56:	3b c6                	cmp    %esi,%eax
415c58:	74 c8                	je     0x415c22
415c5a:	57                   	push   %edi
415c5b:	e8 96 5b 00 00       	call   0x41b7f6
415c60:	59                   	pop    %ecx
415c61:	50                   	push   %eax
415c62:	ff 15 f0 40 42 00    	call   *0x4240f0
415c68:	85 c0                	test   %eax,%eax
415c6a:	75 b6                	jne    0x415c22
415c6c:	ff 15 98 40 42 00    	call   *0x424098
415c72:	8b f0                	mov    %eax,%esi
415c74:	57                   	push   %edi
415c75:	e8 eb 5a 00 00       	call   0x41b765
415c7a:	59                   	pop    %ecx
415c7b:	8b cf                	mov    %edi,%ecx
415c7d:	83 e7 3f             	and    $0x3f,%edi
415c80:	c1 f9 06             	sar    $0x6,%ecx
415c83:	6b d7 38             	imul   $0x38,%edi,%edx
415c86:	8b 0c 8d c0 4a 43 00 	mov    0x434ac0(,%ecx,4),%ecx
415c8d:	c6 44 11 28 00       	movb   $0x0,0x28(%ecx,%edx,1)
415c92:	85 f6                	test   %esi,%esi
415c94:	74 0c                	je     0x415ca2
415c96:	56                   	push   %esi
415c97:	e8 29 91 ff ff       	call   0x40edc5
415c9c:	59                   	pop    %ecx
415c9d:	83 c8 ff             	or     $0xffffffff,%eax
415ca0:	eb 02                	jmp    0x415ca4
415ca2:	33 c0                	xor    %eax,%eax
415ca4:	5f                   	pop    %edi
415ca5:	5e                   	pop    %esi
415ca6:	5d                   	pop    %ebp
415ca7:	c3                   	ret
415ca8:	8b ff                	mov    %edi,%edi
415caa:	55                   	push   %ebp
415cab:	8b ec                	mov    %esp,%ebp
415cad:	8b 45 08             	mov    0x8(%ebp),%eax
415cb0:	33 c9                	xor    %ecx,%ecx
415cb2:	89 08                	mov    %ecx,(%eax)
415cb4:	8b 45 08             	mov    0x8(%ebp),%eax
415cb7:	89 48 04             	mov    %ecx,0x4(%eax)
415cba:	8b 45 08             	mov    0x8(%ebp),%eax
415cbd:	89 48 08             	mov    %ecx,0x8(%eax)
415cc0:	8b 45 08             	mov    0x8(%ebp),%eax
415cc3:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
415cc7:	8b 45 08             	mov    0x8(%ebp),%eax
415cca:	89 48 14             	mov    %ecx,0x14(%eax)
415ccd:	8b 45 08             	mov    0x8(%ebp),%eax
415cd0:	89 48 18             	mov    %ecx,0x18(%eax)
415cd3:	8b 45 08             	mov    0x8(%ebp),%eax
415cd6:	89 48 1c             	mov    %ecx,0x1c(%eax)
415cd9:	8b 45 08             	mov    0x8(%ebp),%eax
415cdc:	83 c0 0c             	add    $0xc,%eax
415cdf:	87 08                	xchg   %ecx,(%eax)
415ce1:	5d                   	pop    %ebp
415ce2:	c3                   	ret
415ce3:	6a 0c                	push   $0xc
415ce5:	68 78 18 43 00       	push   $0x431878
415cea:	e8 d1 22 ff ff       	call   0x407fc0
415cef:	33 f6                	xor    %esi,%esi
415cf1:	89 75 e4             	mov    %esi,-0x1c(%ebp)
415cf4:	8b 45 08             	mov    0x8(%ebp),%eax
415cf7:	ff 30                	push   (%eax)
415cf9:	e8 7c 58 00 00       	call   0x41b57a
415cfe:	59                   	pop    %ecx
415cff:	89 75 fc             	mov    %esi,-0x4(%ebp)
415d02:	8b 45 0c             	mov    0xc(%ebp),%eax
415d05:	8b 00                	mov    (%eax),%eax
415d07:	8b 38                	mov    (%eax),%edi
415d09:	8b d7                	mov    %edi,%edx
415d0b:	c1 fa 06             	sar    $0x6,%edx
415d0e:	8b c7                	mov    %edi,%eax
415d10:	83 e0 3f             	and    $0x3f,%eax
415d13:	6b c8 38             	imul   $0x38,%eax,%ecx
415d16:	8b 04 95 c0 4a 43 00 	mov    0x434ac0(,%edx,4),%eax
415d1d:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
415d22:	74 21                	je     0x415d45
415d24:	57                   	push   %edi
415d25:	e8 cc 5a 00 00       	call   0x41b7f6
415d2a:	59                   	pop    %ecx
415d2b:	50                   	push   %eax
415d2c:	ff 15 f4 40 42 00    	call   *0x4240f4
415d32:	85 c0                	test   %eax,%eax
415d34:	75 1d                	jne    0x415d53
415d36:	e8 ad 90 ff ff       	call   0x40ede8
415d3b:	8b f0                	mov    %eax,%esi
415d3d:	ff 15 98 40 42 00    	call   *0x424098
415d43:	89 06                	mov    %eax,(%esi)
415d45:	e8 b1 90 ff ff       	call   0x40edfb
415d4a:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
415d50:	83 ce ff             	or     $0xffffffff,%esi
415d53:	89 75 e4             	mov    %esi,-0x1c(%ebp)
415d56:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
415d5d:	e8 17 00 00 00       	call   0x415d79
415d62:	8b c6                	mov    %esi,%eax
415d64:	8b 4d f0             	mov    -0x10(%ebp),%ecx
415d67:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
415d6e:	59                   	pop    %ecx
415d6f:	5f                   	pop    %edi
415d70:	5e                   	pop    %esi
415d71:	5b                   	pop    %ebx
415d72:	c9                   	leave
415d73:	c2 0c 00             	ret    $0xc
415d76:	8b 75 e4             	mov    -0x1c(%ebp),%esi
415d79:	8b 4d 10             	mov    0x10(%ebp),%ecx
415d7c:	ff 31                	push   (%ecx)
415d7e:	e8 ac 58 00 00       	call   0x41b62f
415d83:	59                   	pop    %ecx
415d84:	c3                   	ret
415d85:	8b ff                	mov    %edi,%edi
415d87:	55                   	push   %ebp
415d88:	8b ec                	mov    %esp,%ebp
415d8a:	83 ec 10             	sub    $0x10,%esp
415d8d:	56                   	push   %esi
415d8e:	8b 75 08             	mov    0x8(%ebp),%esi
415d91:	83 fe fe             	cmp    $0xfffffffe,%esi
415d94:	75 0d                	jne    0x415da3
415d96:	e8 60 90 ff ff       	call   0x40edfb
415d9b:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
415da1:	eb 59                	jmp    0x415dfc
415da3:	85 f6                	test   %esi,%esi
415da5:	78 45                	js     0x415dec
415da7:	3b 35 c0 4c 43 00    	cmp    0x434cc0,%esi
415dad:	73 3d                	jae    0x415dec
415daf:	8b c6                	mov    %esi,%eax
415db1:	8b d6                	mov    %esi,%edx
415db3:	83 e0 3f             	and    $0x3f,%eax
415db6:	c1 fa 06             	sar    $0x6,%edx
415db9:	6b c8 38             	imul   $0x38,%eax,%ecx
415dbc:	8b 04 95 c0 4a 43 00 	mov    0x434ac0(,%edx,4),%eax
415dc3:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
415dc8:	74 22                	je     0x415dec
415dca:	8d 45 08             	lea    0x8(%ebp),%eax
415dcd:	89 75 f8             	mov    %esi,-0x8(%ebp)
415dd0:	89 45 f4             	mov    %eax,-0xc(%ebp)
415dd3:	8d 4d ff             	lea    -0x1(%ebp),%ecx
415dd6:	8d 45 f8             	lea    -0x8(%ebp),%eax
415dd9:	89 75 f0             	mov    %esi,-0x10(%ebp)
415ddc:	50                   	push   %eax
415ddd:	8d 45 f4             	lea    -0xc(%ebp),%eax
415de0:	50                   	push   %eax
415de1:	8d 45 f0             	lea    -0x10(%ebp),%eax
415de4:	50                   	push   %eax
415de5:	e8 f9 fe ff ff       	call   0x415ce3
415dea:	eb 13                	jmp    0x415dff
415dec:	e8 0a 90 ff ff       	call   0x40edfb
415df1:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
415df7:	e8 85 72 ff ff       	call   0x40d081
415dfc:	83 c8 ff             	or     $0xffffffff,%eax
415dff:	5e                   	pop    %esi
415e00:	c9                   	leave
415e01:	c3                   	ret
415e02:	8b ff                	mov    %edi,%edi
415e04:	55                   	push   %ebp
415e05:	8b ec                	mov    %esp,%ebp
415e07:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
415e0d:	a1 14 30 43 00       	mov    0x433014,%eax
415e12:	33 c5                	xor    %ebp,%eax
415e14:	89 45 fc             	mov    %eax,-0x4(%ebp)
415e17:	8b 45 0c             	mov    0xc(%ebp),%eax
415e1a:	8b d0                	mov    %eax,%edx
415e1c:	83 e0 3f             	and    $0x3f,%eax
415e1f:	c1 fa 06             	sar    $0x6,%edx
415e22:	6b c8 38             	imul   $0x38,%eax,%ecx
415e25:	53                   	push   %ebx
415e26:	56                   	push   %esi
415e27:	8b 04 95 c0 4a 43 00 	mov    0x434ac0(,%edx,4),%eax
415e2e:	57                   	push   %edi
415e2f:	8b 7d 10             	mov    0x10(%ebp),%edi
415e32:	89 7d 98             	mov    %edi,-0x68(%ebp)
415e35:	89 55 b4             	mov    %edx,-0x4c(%ebp)
415e38:	8b 44 01 18          	mov    0x18(%ecx,%eax,1),%eax
415e3c:	89 45 94             	mov    %eax,-0x6c(%ebp)
415e3f:	8b 45 14             	mov    0x14(%ebp),%eax
415e42:	03 c7                	add    %edi,%eax
415e44:	89 4d d8             	mov    %ecx,-0x28(%ebp)
415e47:	89 45 a4             	mov    %eax,-0x5c(%ebp)
415e4a:	ff 15 f8 40 42 00    	call   *0x4240f8
415e50:	33 db                	xor    %ebx,%ebx
415e52:	89 45 88             	mov    %eax,-0x78(%ebp)
415e55:	53                   	push   %ebx
415e56:	8d 4d bc             	lea    -0x44(%ebp),%ecx
415e59:	e8 20 5e ff ff       	call   0x40bc7e
415e5e:	8b 4d c0             	mov    -0x40(%ebp),%ecx
415e61:	8b c7                	mov    %edi,%eax
415e63:	8b f3                	mov    %ebx,%esi
415e65:	89 5d a8             	mov    %ebx,-0x58(%ebp)
415e68:	89 75 ac             	mov    %esi,-0x54(%ebp)
415e6b:	89 5d b0             	mov    %ebx,-0x50(%ebp)
415e6e:	8b 49 08             	mov    0x8(%ecx),%ecx
415e71:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
415e74:	89 7d 9c             	mov    %edi,-0x64(%ebp)
415e77:	3b 45 a4             	cmp    -0x5c(%ebp),%eax
415e7a:	0f 83 05 03 00 00    	jae    0x416185
415e80:	8a 07                	mov    (%edi),%al
415e82:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
415e88:	8b 4d d8             	mov    -0x28(%ebp),%ecx
415e8b:	88 45 d1             	mov    %al,-0x2f(%ebp)
415e8e:	8b 45 b4             	mov    -0x4c(%ebp),%eax
415e91:	89 5d b8             	mov    %ebx,-0x48(%ebp)
415e94:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
415e9b:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
415ea2:	89 45 d4             	mov    %eax,-0x2c(%ebp)
415ea5:	0f 85 33 01 00 00    	jne    0x415fde
415eab:	8b 55 d4             	mov    -0x2c(%ebp),%edx
415eae:	8b c3                	mov    %ebx,%eax
415eb0:	83 c2 2e             	add    $0x2e,%edx
415eb3:	03 d1                	add    %ecx,%edx
415eb5:	89 55 90             	mov    %edx,-0x70(%ebp)
415eb8:	38 1c 02             	cmp    %bl,(%edx,%eax,1)
415ebb:	74 06                	je     0x415ec3
415ebd:	40                   	inc    %eax
415ebe:	83 f8 05             	cmp    $0x5,%eax
415ec1:	7c f5                	jl     0x415eb8
415ec3:	8b 55 a4             	mov    -0x5c(%ebp),%edx
415ec6:	2b d7                	sub    %edi,%edx
415ec8:	89 45 dc             	mov    %eax,-0x24(%ebp)
415ecb:	85 c0                	test   %eax,%eax
415ecd:	0f 8e b1 00 00 00    	jle    0x415f84
415ed3:	8b 45 d4             	mov    -0x2c(%ebp),%eax
415ed6:	0f b6 44 01 2e       	movzbl 0x2e(%ecx,%eax,1),%eax
415edb:	0f be 80 a0 32 43 00 	movsbl 0x4332a0(%eax),%eax
415ee2:	40                   	inc    %eax
415ee3:	89 45 cc             	mov    %eax,-0x34(%ebp)
415ee6:	2b 45 dc             	sub    -0x24(%ebp),%eax
415ee9:	89 45 d4             	mov    %eax,-0x2c(%ebp)
415eec:	3b c2                	cmp    %edx,%eax
415eee:	0f 8f 10 02 00 00    	jg     0x416104
415ef4:	8b 55 dc             	mov    -0x24(%ebp),%edx
415ef7:	8b f3                	mov    %ebx,%esi
415ef9:	8b 4d 90             	mov    -0x70(%ebp),%ecx
415efc:	8a 04 31             	mov    (%ecx,%esi,1),%al
415eff:	88 44 35 f4          	mov    %al,-0xc(%ebp,%esi,1)
415f03:	46                   	inc    %esi
415f04:	3b f2                	cmp    %edx,%esi
415f06:	7c f4                	jl     0x415efc
415f08:	8b 75 d4             	mov    -0x2c(%ebp),%esi
415f0b:	8b 4d d8             	mov    -0x28(%ebp),%ecx
415f0e:	85 f6                	test   %esi,%esi
415f10:	7e 16                	jle    0x415f28
415f12:	56                   	push   %esi
415f13:	8d 45 f4             	lea    -0xc(%ebp),%eax
415f16:	03 c2                	add    %edx,%eax
415f18:	57                   	push   %edi
415f19:	50                   	push   %eax
415f1a:	e8 51 2a ff ff       	call   0x408970
415f1f:	8b 4d d8             	mov    -0x28(%ebp),%ecx
415f22:	83 c4 0c             	add    $0xc,%esp
415f25:	8b 55 dc             	mov    -0x24(%ebp),%edx
415f28:	8b 7d b4             	mov    -0x4c(%ebp),%edi
415f2b:	8b f3                	mov    %ebx,%esi
415f2d:	8b 04 bd c0 4a 43 00 	mov    0x434ac0(,%edi,4),%eax
415f34:	03 c1                	add    %ecx,%eax
415f36:	88 5c 30 2e          	mov    %bl,0x2e(%eax,%esi,1)
415f3a:	46                   	inc    %esi
415f3b:	3b f2                	cmp    %edx,%esi
415f3d:	7c ee                	jl     0x415f2d
415f3f:	8b 7d 9c             	mov    -0x64(%ebp),%edi
415f42:	8d 45 f4             	lea    -0xc(%ebp),%eax
415f45:	8b 75 d4             	mov    -0x2c(%ebp),%esi
415f48:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
415f4e:	89 45 8c             	mov    %eax,-0x74(%ebp)
415f51:	33 c0                	xor    %eax,%eax
415f53:	83 7d cc 04          	cmpl   $0x4,-0x34(%ebp)
415f57:	51                   	push   %ecx
415f58:	0f 94 c0             	sete   %al
415f5b:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
415f61:	40                   	inc    %eax
415f62:	89 5d 80             	mov    %ebx,-0x80(%ebp)
415f65:	50                   	push   %eax
415f66:	89 45 dc             	mov    %eax,-0x24(%ebp)
415f69:	8d 45 8c             	lea    -0x74(%ebp),%eax
415f6c:	50                   	push   %eax
415f6d:	8d 45 b8             	lea    -0x48(%ebp),%eax
415f70:	50                   	push   %eax
415f71:	e8 55 8e 00 00       	call   0x41edcb
415f76:	83 c4 10             	add    $0x10,%esp
415f79:	83 f8 ff             	cmp    $0xffffffff,%eax
415f7c:	0f 84 03 02 00 00    	je     0x416185
415f82:	eb 55                	jmp    0x415fd9
415f84:	0f b6 07             	movzbl (%edi),%eax
415f87:	0f be 88 a0 32 43 00 	movsbl 0x4332a0(%eax),%ecx
415f8e:	41                   	inc    %ecx
415f8f:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
415f92:	3b ca                	cmp    %edx,%ecx
415f94:	0f 8f 9e 01 00 00    	jg     0x416138
415f9a:	33 c0                	xor    %eax,%eax
415f9c:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
415fa2:	83 f9 04             	cmp    $0x4,%ecx
415fa5:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
415fab:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
415fb1:	89 7d cc             	mov    %edi,-0x34(%ebp)
415fb4:	0f 94 c0             	sete   %al
415fb7:	40                   	inc    %eax
415fb8:	51                   	push   %ecx
415fb9:	50                   	push   %eax
415fba:	89 45 dc             	mov    %eax,-0x24(%ebp)
415fbd:	8d 45 cc             	lea    -0x34(%ebp),%eax
415fc0:	50                   	push   %eax
415fc1:	8d 45 b8             	lea    -0x48(%ebp),%eax
415fc4:	50                   	push   %eax
415fc5:	e8 01 8e 00 00       	call   0x41edcb